単純なc++ファイルとクラスTTには2つのメソッドがあります。
#include <map>
#include <string>
#include <iostream>
using namespace std;
class TT{
public:
TT(const string& str);
template<class T>T Read(const string& key)const;
template<class T>T Read(const string& key, const T& value)const;
};
TT::TT(const string& str){
cout<<str<<endl;
}
template<class T>T TT::Read(const string& key)const{
std::cout<<key<<std::endl;
return 1;
}
template<class T>T TT::Read(const string& key, const T& value)const{
std::cout<<key<<'\t'<<value<<std::endl;
return value;
}
int main(void){
TT tt("First");
tt.Read("Hello", 12);
return 1;
}
交換する場合
tt.Read("Hello world!", 12);
と
tt.Read("Hello world!");
main()で
G ++によると:
new.cc:31:エラー:「TT :: Read(constchar [5])」の呼び出しに一致する関数がありません</ p>
G ++がRead(const string&key)constメソッドを見つけられないのはなぜですか?
ありがとう!