我了解到我们可以为构造函数提供默认参数,以便它在代码中未明确提供时初始化值,但是当我尝试创建我的类的对象时,它不起作用。如果没有提供,它不会采用这些默认值,它给我一个错误,上面写着:
error: no matching function for call to ‘Person::Person(const char [6], int)
Person::Person( string aName = "ANY", int age = 18 ) {
cout << "Constructor called!" << endl;
this->name = aName;
this->age = age;
}
现在当我在我的 main 中调用它时:
Person p( "Steve" );
它给了我提到的错误,并且age
默认情况下不会初始化为 18。
我正在为 C/C++ IDE 使用 Eclipse