用dev c++编译这个程序这样报错什么意思啊?怎么改啊?

2024-11-24 20:17:29
推荐回答(3个)
回答1:

为什么把成员函数的定义放在类外就不会报错了啊?我最想知道的是那样报错是什么意思 是为什么

还是因为那个字符串复制函数strcpy的问题?
----------------------------------------------
你那样放在里面也是可以的,错误是因为
调用的:Student(std::string&, char&, float&)'
和构造的: Student::Student(char*, char, float)
的参数不一样导致的:
你只要把:
Student(char nam[],char s,float sco)
{strcpy(name1,nam);
sex=s;
score=sco;
}
改成
Student(string nam,char s,float sco)
{name1=nam;
sex=s;
score=sco;
}
就应该不会出错。
以后写代码要注意构造函数的参数和调用构造函数的参数要统一

回答2:

In constructor `Graduate::Graduate(std::basic_string,
Student(std::string&, char&, float&)'
20 candidates are: Student::Student(const Student&)
22 Student::Student(char*, char, float)
请问你这段定义的是什么??????没有类型,什么都没有,怪不得出错。

回答3:

你这要实现什么啊?