Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
'função': mudança de comportamento: uma especialização explícita não pode ser um construtor de cópia ou operador de atribuição de cópia
Observações
Este erro também pode ser gerado como resultado do trabalho de conformidade do compilador que foi feito para o Visual Studio 2005. Versões anteriores do Visual C++ permitiam especializações explícitas para um construtor de cópia ou um operador de atribuição de cópia.
Para resolver C2299, não torne o construtor de cópia ou o operador de atribuição um modelo de função. Torne-os funções não modelo que usam um tipo de classe. Qualquer código que chame o construtor de cópia ou operador de atribuição especificando explicitamente os argumentos de modelo precisa remover os argumentos de modelo.
Example
O exemplo a seguir gera C2299:
// C2299.cpp
// compile with: /c
class C {
template <class T>
C (T t);
template <> C (const C&); // C2299
C (const C&); // OK
};