Я должен использовать явную специализацию для функции-члена класса в (C++, я использую MS Visual Studio 2008 SP1), но я не смог ее скомпилировать. Получение C2910Шаблонная специализация функции-члена
об ошибке: 'File :: Оператор < <': не может быть явно специализированы
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 может быть актуальной. Это часто помогает людям давать лучшие ответы, если вы даете такую информацию. –
Возможный дубликат [Формат специализации шаблонов функций] (http://stackoverflow.com/questions/937744/function-template-specialization-format) –