3个回答
展开全部
楼上已经指出你的问题了,重复定义。但是如果在一个类中定义了类成员(name),建议你按初始化列表的方式来写,比如在vs17下,可以这么做:
class Student
{
public:
Student();
Student(string n, int a);
private:
string name;
int age;
};
Student::Student(string n, int a) : name(n), age(a)
{
}
int main()
{
// 对于如下的初始化,最新的c++规则对于有没有=号是无所谓的
Student s[2] = { {"WE", 21}, {"YOU", 15} };
s[0] = { "HE", 21 }; // ok
return 0;
}
}
但对于vc6,就得这么写:
Student s[2] = { Student("WE1", 21), Student("YOU", 15) };
class Student
{
public:
Student();
Student(string n, int a);
private:
string name;
int age;
};
Student::Student(string n, int a) : name(n), age(a)
{
}
int main()
{
// 对于如下的初始化,最新的c++规则对于有没有=号是无所谓的
Student s[2] = { {"WE", 21}, {"YOU", 15} };
s[0] = { "HE", 21 }; // ok
return 0;
}
}
但对于vc6,就得这么写:
Student s[2] = { Student("WE1", 21), Student("YOU", 15) };
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询