編譯我的代碼時,我收到以下錯誤。如果只有一個候選人,爲什麼會拋出錯誤?爲什麼它不能使用它?C++編譯錯誤只有一個候選函數
error: no matching function for call to '
TemplateParameters::reset_template_params( const char [8], const char [11], std::vector<const Channel*>, bool, std::map<int, String, std::less<int>, std::allocator<std::pair<const int, String> > >& )
'
note: candidates are:
void TemplateParameters::reset_template_params( String, String, std::vector<const Channel*>&, bool, std::map<int, String, std::less<int>, std::allocator<std::pair<const int, String> > >& )
'String'參數是可疑的。 ('std :: vector&'也可能會被懷疑)。可能沒有可用的轉換序列將'const char [8]'或'const char [11]'轉換爲'String '。你可能需要在你調用'reset_template_params'的地方發佈代碼片段(這樣我們就可以看到你實際傳遞的是什麼),並且提到實際是什麼(字符串)(它當然不是'std :: string')我可以告訴)。 –
2011-06-13 12:16:28
我冒昧地設置了錯誤信息的格式,以便它至少具有基本的可讀性。下次你可以自己做這個。 – 2011-06-13 12:17:01
@In silico:爲什麼要在評論中發佈答案? – Dani 2011-06-13 12:20:36