'function':行为更改:显式专用化不能是复制构造函数或复制赋值运算符
备注
为 Visual Studio 2005 执行的编译器一致性工作也可能导致生成此错误。 以前版本的 Visual C++ 允许对复制构造函数或复制赋值运算符进行显式专用化。
若要解析 C2299,请不要将复制构造函数或赋值运算符设置为函数模板。 使其成为采用类类型的非模板函数。 任何通过显式指定模板参数来调用复制构造函数或赋值运算符的代码都需要删除模板参数。
示例
以下示例生成 C2299:
// C2299.cpp
// compile with: /c
class C {
template <class T>
C (T t);
template <> C (const C&); // C2299
C (const C&); // OK
};