Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Funktion: beteendeförändring: en explicit specialisering kan inte vara en kopieringskonstruktor eller kopieringstilldelningsoperator
Anmärkningar
Det här felet kan också genereras som ett resultat av kompilatorns efterlevnadsarbete som utfördes för Visual Studio 2005. Tidigare versioner av Visual C++ tillät explicita specialiseringar för en kopieringskonstruktor eller en kopieringstilldelningsoperator.
Lös C2299 genom att inte göra kopieringskonstruktorn eller tilldelningsoperatorn till en funktionsmall. Gör dem till icke-mallfunktioner som har en klasstyp. All kod som anropar kopieringskonstruktorn eller tilldelningsoperatorn genom att uttryckligen ange mallargumenten måste ta bort mallargumenten.
Example
I följande exempel genereras C2299:
// C2299.cpp
// compile with: /c
class C {
template <class T>
C (T t);
template <> C (const C&); // C2299
C (const C&); // OK
};