我有这段代码:
bool Port::add_app_from_wlist(App* a){
stringstream namesurn;
string name, surname;
namesurn << a->get_name();
namesurn >> name >> surname;
return add_application(a->get_id(),name,surname,a->arrived_at_port_by(),a->arrived_by(),a->is_luxury_class());
}
我收到此错误:
air_classes.cpp:153: 错误:没有匹配的呼叫功能 到`Port :: add_application(int, std :: string&amp;,std :: string&amp;,time_t, time_t,bool)'
air_classes.cpp:98: 注意:候选人是:布尔 端口:: add_application(INT, std :: string,std :: string,std :: string, time_t,time_t,bool)
我不明白这个字符串&amp;来自错误 - 也不知道如何修改它 - 请帮忙。
答案 0 :(得分:7)
方法add_application
接受3个字符串,但您在通话中只指定了2个字符串。
答案 1 :(得分:3)
引用只是来自编译器没有找到适合调用的函数,它匹配您尝试传递的值,并猜测函数签名可能是什么样的。
与列出的候选人比较,该候选人接受三个而不是两个字符串参数。