(C++ではMS Visual Studio 2008 SP1を使用しています)、クラスメンバ関数の明示的な特殊化を使用する必要がありましたが、コンパイルできませんでした。 「ファイル::演算子< <は」:メンバ関数のテンプレート特殊化
エラーC2910取得明示的にオペレータ< <のあなたの明示的な特殊化宣言のパラメータリストと一致しませんでした
class File
{
std::ofstream mOutPutFile;
public:
template<typename T>
File& operator<<(T const& data);
};
template<typename T>
File& File::operator<< (T const& data)
{
mOutPutFile << preprosesor(data);
return *this;
}
template< >
File& File::operator<< <> (std::ofstream& out)
{
mOutPutFile << out;
return *this;
}
http://stackoverflow.com/search?q=%5BC%2B%2B%5D+specialize+member+function –
あなたはWindowsで作業しています。 MSVCのバージョンが適切かもしれません。あなたがそのような情報を与えると、人々はより良い答えを出すのに役立ちます。 –
[Function template specialization format]の複製が可能です(http://stackoverflow.com/questions/937744/function-template-specialization-format) –