Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
'function': behavior change: explicitní specializace nemůže být konstruktor kopírování nebo operátor přiřazení kopírování
Poznámky
Tuto chybu lze také vygenerovat v důsledku práce kompilátoru, která byla provedena pro Visual Studio 2005. Předchozí verze jazyka Visual C++ umožňovaly explicitní specializace pro konstruktor kopírování nebo operátor přiřazení kopírování.
Pokud chcete vyřešit C2299, nevytvávejte konstruktor kopírování ani operátor přiřazení jako šablonu funkce. Nastavte je jako neschybné funkce, které přebírají typ třídy. Jakýkoli kód, který volá konstruktor kopírování nebo operátor přiřazení explicitním zadáním argumentů šablony, musí odebrat argumenty šablony.
Příklad
Následující příklad generuje C2299:
// C2299.cpp
// compile with: /c
class C {
template <class T>
C (T t);
template <> C (const C&); // C2299
C (const C&); // OK
};