代码如下:
1 #include
2 using namespace std;
3 class Student{
4 string name;
5 public:
6 Student(string& n ="noName") :name(n){}
7 };
8 class Teacherk{
9 string name;
10 public:
11 Teacher(string& n = "noName") :name(n){}
12 };
13 void addCourse(Student& s);
14 void addCourse(Teacher& s);
15 int main(){
16 addCourse(Teacher("Prof.DingleBerry"));
17 }
第6行和第11行显示代码错误信息 error C2440: “默认参数”: 无法从“const char [7]”转换为“std::string &”
望路过的大侠出手相救^_^
修改了一下,类似下面这样:
#include <iostream>
#include <string>
using namespace std;
class Student
{
string name;
public:
Student(const string& n ="noName") :name(n){}
};
class Teacher
{
string name;
public:
Teacher(const string& n = "noName") :name(n){}
};
void addCourse(Student& s)
{
// ...
}
void addCourse(Teacher& s)
{
// ...
}
int main()
{
addCourse(Teacher("Prof.DingleBerry"));
return 0;
}