Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
'Funktion': Verhaltensänderung: Eine explizite Spezialisierung kann kein Kopierkonstruktor oder Kopierzuordnungsoperator sein.
Hinweise
Dieser Fehler kann auch als Ergebnis der Compilerkonformität generiert werden, die für Visual Studio 2005 ausgeführt wurde. In früheren Versionen von Visual C++ wurden explizite Spezialisierungen für einen Kopierkonstruktor oder einen Kopierzuweisungsoperator zugelassen.
Um C2299 aufzulösen, erstellen Sie nicht den Kopierkonstruktor oder den Zuordnungsoperator als Funktionsvorlage. Machen Sie sie nicht vorlagenfremde Funktionen, die einen Klassentyp verwenden. Jeder Code, der den Kopierkonstruktor oder den Zuordnungsoperator aufruft, indem explizit die Vorlagenargumente angegeben werden, müssen die Vorlagenargumente entfernt werden.
Beispiel
Im folgenden Beispiel wird C2299 generiert:
// C2299.cpp
// compile with: /c
class C {
template <class T>
C (T t);
template <> C (const C&); // C2299
C (const C&); // OK
};