環境;WinXP,VCE++2010
次のようなクラスを作りました。
//////Graph.h(他の関数等略)//////////////
class Graph{
private:
Size<int> size;
public:
Graph& operator()()const;
};
しかし
////////size.h(他の関数等略)///////
template<typename T>
class Size{
public:
Size& operator()()const;
};
///////size.cpp(他の関数等略)////////////////
template<typename T>
Size<T>& Size<T>::operator()()const{
return (*this);
}
エラーC2440はどうやらキャストに関するエラーのようですが、返り値の型の扱いはsizeクラスもGraphクラスもoperator()については、自分には同じに見えます。いったいどこが不適切なのでしょうか。