为什么string在类的构造函数里不能用
好吧
既然你愿意把一个错误的答案当作正解我也不能阻止你.
但是出于人道, 我还是提醒一下:
1. 默认构造函数是不带参数的构造函数, string(char*)是不能称为默认构造函数的.
2. string 是有 string(const char*) 这种形式的构造函数的.
[解决办法]
class Student
{private:
string name;
public:
Student(string n):name(n.c_str()){} //为什么这样不对
//要这样 Student(const char*n):name(n){}
};
int main()
{
Student s(string("Nick"));
return 0;
}
basic_string( char const *)
basic_string( char const *, A const & = A())
#include<string>
using namespace std;
class Student
{
private:
string name;
public:
Student(string n):name(n.c_str()){}//为什么这样不对 实际对的
//要这样 Student(const char*n):name(n){}
};
int main()
{
Student s("Nick");
return 0;
}