2010-11-27 26 views
1

に該当する機能私はこのコードを持っている:C++参照渡し:エラー:コール

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: error: no matching function for call to `Port::add_application(int, std::string&, std::string&, time_t, time_t, bool)'

air_classes.cpp:98: note: candidates are: bool Port::add_application(int, std::string, std::string, std::string, time_t, time_t, bool)

この文字列&はでどこから来るか、私は理解していませんエラー - どのように私はそれを修正することができます - 助けてください。

答えて

7

メソッドadd_applicationは3つの文字列を受け取りますが、あなたの呼び出しでは2つしか指定できません。

+0

私は今私のアカウントを削除しなければならないと思う:恥ずかしい: –

+0

@user:これは何度も間違いを覚えている。目のペアは確かに1つより優れています。 – Vlad

3

コンパイラから渡された値に一致する適切な関数を見つけられず、関数のシグネチャがどのように見えるかを推測するだけです。

2つではなく3つの文字列パラメータを受け入れるリストされた候補と比較してください。

+0

ありがとうございます - 上記を参照してください –