您好我开始学习C++,目前我正在测试成员初始化程序,我编写了这个简单的代码:
#include <iostream>
#include <string>
using namespace std;
class Person
{
public:
Person();
~Person();
private:
string p_name;
string p_surname;
int p_age;
};
Person::Person(string name, string surname, int age) : p_name(name), p_surname(surname), p_age(age)
{
}
Person::~Person()
{
}
class MyClass
{
public:
MyClass(int value) : m_value(value)
{
}
private:
int m_value;
};
int main()
{
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是在Person类中我收到以下错误
错误1错误C2511:'Person :: Person(std :: string,std :: string,int)':'Person'中找不到重载的成员函数c:\ users\syd\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\consoleapplication1.cpp 19 1 ConsoleApplication1
同样在第二课中没有错误.如果我没弄错的话,我在Person类中以错误的方式声明构造函数,并且解释器认为我正在重载一个丢失的方法?我确定这样的错误对你们大多数人来说可能是愚蠢的,但如果有人能用简单的语言解释我做错了什么,我将不胜感激.
声明Person()与定义不符Person(string name, string surname, int age).
在您的班级声明中,将人员更改为
public:
Person(string name, string surname, int age);
Run Code Online (Sandbox Code Playgroud)