【问题标题】:What is the reason encountering "already has a body" error and how to fix it?遇到“已经有正文”错误的原因是什么以及如何解决?
【发布时间】:2022-12-14 10:44:36
【问题描述】:

我正在从事一个项目,该项目包括在多个类之间共享对象。

User::User(string username) {  // constructor of User class
    this->name = &username; 
    num_comments = new unsigned int(0);
}

这是我在 cpp 文件中实现的构造函数,头文件中类的定义是

class User {  

private:
    string *name; 
    vector<Post> posts; 
    unsigned int *num_comments; 
    

public:
    
    User(string username)   {}
    ~User() {}
     Post& createPost(string content); 
     
    vector<Post*> getPosts(); 
    int getnumcomments();
    string getName(); 
    



};


当我尝试运行我的代码时,遇到错误 C2084: function 'User::User(std::string)' already has a body

我在其他构造函数和析构函数中遇到了同样的错误。所以,我的错误是普遍的。 是什么原因?

【问题讨论】:

  • User(string username) {} 移除括号。
  • edit 并标记您使用的任何语言。这看起来像 C++。

标签: function


【解决方案1】:

错误信息明确告诉它:你定义了两次User::User。一次在类声明之外,一次在类声明之内。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-02
    • 1970-01-01
    • 2016-06-08
    • 1970-01-01
    • 2014-04-23
    • 2011-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多