我无法专门化重载的 << 运算符模板:
通用模板定义如下:
template<typename DocIdType,typename DocType>
std::ostream & operator << (std::ostream & os,
const Document<DocIdType,DocType> & doc)
{
[...]
}
通用模板工作正常。现在我想专门研究第二个模板参数。我试过了:
template<typename DocIdType>
std::ostream & operator << <DocIdType,std::string> (std::ostream & os,
const Document<DocIdType,std::string> & doc)
{
[...]
}
当我尝试编译这段代码时,出现以下编译器错误:“C2768:非法使用显式模板参数”
有人可以告诉我我做错了什么吗?