編譯器錯誤 C2299
'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
};