C ++ передача по ссылке: ошибка: нет соответствующей функции для вызова - PullRequest
1 голос
/ 27 ноября 2010

У меня есть этот код:

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 &, std :: string &, time_t, time_t, bool) '

air_classes.cpp: 98: примечание: кандидаты: bool Порт :: add_application (интермедиат, std :: string, std :: string, std :: string, time_t, time_t, bool)

Я не понимаю, откуда взялась эта строка, и как я могу ее исправить - помогите, пожалуйста.

Ответы [ 2 ]

7 голосов
/ 27 ноября 2010

Метод add_application принимает 3 строки, но вы указываете только 2 из них в своем вызове.

3 голосов
/ 27 ноября 2010

Ссылки просто исходят от компилятора, который не находит подходящую функцию для вызова, которая соответствует значениям, которые вы пытаетесь передать, и угадывает, как может выглядеть сигнатура функции.

Сравните с указанным кандидатом, который принимает три, а не два строковых параметра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...