Delen via


Compilerfout C2299

'functie': gedragswijziging: een expliciete specialisatie kan geen kopieerconstructor of een operator voor het kopiƫren van toewijzingen zijn

Opmerkingen

Deze fout kan ook worden gegenereerd als gevolg van compilercompformance-werk dat is uitgevoerd voor Visual Studio 2005. In eerdere versies van Visual C++ zijn expliciete specialisaties toegestaan voor een kopieerconstructor of een operator voor kopieertoewijzing.

Als u C2299 wilt oplossen, moet u de kopieerconstructor of toewijzingsoperator geen functiesjabloon maken. Maak ze niet-sjabloonfuncties die een klassetype gebruiken. Code die de kopieerconstructor of toewijzingsoperator aanroept door expliciet de sjabloonargumenten op te geven, moet de sjabloonargumenten verwijderen.

Example

In het volgende voorbeeld wordt C2299 gegenereerd:

// C2299.cpp
// compile with: /c
class C {
   template <class T>
   C (T t);

   template <> C (const C&);   // C2299
   C (const C&);   // OK
};