我必须将记录结构转换为类,并且不断收到多个错误[关闭]

Posted

技术标签:

【中文标题】我必须将记录结构转换为类,并且不断收到多个错误[关闭]【英文标题】:I have to convert a record structure to a class and I keep getting multiple errors [closed] 【发布时间】:2017-04-14 15:41:57 【问题描述】:
struct rec

   char * id;
   char firstname[15];
   char lastname[15];
   int a[10];
   struct rec* prev;
   struct rec* next;
;

所以我从这是我的结构开始,我转换了这部分

class rec

   private:
       char * id;
       char firstname[15];
       char lastname[15];
       int a[10];
       rec* prev;
       rec* next;

        rec::rec(const rec&)

构造函数似乎一直在给出问题,我正处于弄清楚的边缘,删除了代码,所以它不会被复制

【问题讨论】:

结构和类之间几乎没有区别。实际上,除了默认的访问说明符之外没有其他任何东西,因此“将结构转换为类”没有什么意义。我知道你的意思,但还要注意 struct 已经有一个默认构造函数(就像 class 一样),您还可以将自定义构造函数添加到 struct (与 class 相同) ) 从您提供的示例中,您的问题并不明显。 minimal reproducible example 将有助于识别您的错误。 从长远来看,最好阅读 C++ 教科书并完成示例。从长远来看,得到这个特定问题的答案不会有用。 我遇到了很大的困难,必须使用这里可用的东西,所以我不能使用 std::string firstname 我不断收到多个错误 将错误文本复制并粘贴到您的问题中(请不要使用文本图片)。如果这是 Visual Studio,请从“输出”选项卡而不是“错误”选项卡复制它们。你也没有一个最小的例子。我们不希望您的整个程序只是一个会产生错误并且我们可以尝试的最小示例。 【参考方案1】:

您确实需要获取good C++ book 并通读它。同时,为了让您朝着正确的方向前进,这里有一些代码应该会有所帮助:

struct rec

   std::string id;
   std::string firstname;
   std::string lastname;
   std::vector<int> a;
;
std::vector<rec> records;
records.emplace_back(rec"123", "John", "Doe",  1, 2, 3 );

您不需要prevnext,因为vector 正在管理集合。如果你真的想使用链表,std::list&lt;rec&gt; 就可以了。

Print() 例程可能看起来像

void print(const rec& r, std::ostream& os)

   os << r.id << ": " < r.lastname << ", " << r.firstname << "\n";

【讨论】:

以上是关于我必须将记录结构转换为类,并且不断收到多个错误[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

决策树分类器我不断收到 NaN 错误

尝试将 python 字典列表转换为 SQLite 表时,我不断收到错误消息?

将结构前向声明为类时出现 Visual C++ 2015 链接器错误

将所有子兄弟节点转换为类父节点

不断收到用于转换为日期的 informatica 函数错误无效字符串

将 PHP 数组转换为类变量