Erros do compilador C3200 a C3299
Os artigos nesta seção da documentação explicam um subconjunto das mensagens de erro geradas pelo compilador.
Importante
Os compiladores e ferramentas de build do Visual Studio podem relatar muitos tipos de erros e avisos. Depois que um erro ou aviso for encontrado, as ferramentas de build poderão fazer suposições sobre a intenção do código e tentar continuar, para que mais problemas possam ser relatados ao mesmo tempo. Se as ferramentas fizerem a suposição errada, erros ou avisos posteriores poderão não se aplicar ao seu projeto. Quando você corrige problemas em seu projeto, sempre comece com o primeiro erro ou aviso relatado e recompile com frequência. Uma correção pode fazer com que muitos erros subsequentes desapareçam.
Para obter ajuda em uma mensagem de diagnóstico específica no Visual Studio, selecione-a na janela Saída e pressione a tecla F1. O Visual Studio abre a página de documentação desse erro, se houver uma. Você também pode usar a ferramenta de pesquisa na parte superior da página para encontrar artigos sobre erros ou avisos específicos. Ou navegue pela lista de erros e avisos por ferramenta e digite no sumário nesta página.
Observação
Nem todos os erros ou avisos do Visual Studio estão documentados. Em muitos casos, a mensagem de diagnóstico fornece todas as informações que estão disponíveis. Se você chegou a esta página ao usar F1 e acha que a mensagem de erro ou aviso precisa de explicações adicionais, informe-nos. Você pode usar os botões de comentários nesta página para registrar um problema de documentação no GitHub. Se você achar que o erro ou o aviso está errado ou encontrou outro problema com o conjunto de ferramentas, relate um problema de produto no site da Developer Community. Você também pode enviar comentários e inserir bugs no IDE. No Visual Studio, vá para a barra de menus e escolha Ajuda > Enviar Comentários > Relatar um Problema ou envie uma sugestão usando Ajuda > Enviar Comentários > Enviar uma Sugestão. Foram criados alguns tópicos de erro do compilador que não são emitidos pelo compilador e agora redirecionam para esta página.
Você pode encontrar assistência adicional para erros e avisos nos fóruns Perguntas e respostas do Microsoft Learn. Alternativamente, pesquise o número do erro ou aviso no site da Developer Community do Visual Studio C++. Você também pode pesquisar o Stack Overflow para encontrar soluções.
Para obter links para ajuda adicional e recursos da comunidade, confira Ajuda e Comunidade do Visual C++.
Mensagens de erro
Erro | Mensagem |
---|---|
Erro do compilador C3200 | 'type': argumento de modelo inválido para o parâmetro de modelo 'parameter', esperado um modelo de classe |
Erro do compilador C3201 | a lista de parâmetros de modelo para o modelo de classe 'template' não corresponde à lista de parâmetros de modelo para o parâmetro de modelo 'parameter' |
Erro do compilador C3202 | 'identificador': argumento padrão inválido, esperado um modelo de classe |
Erro do compilador C3203 | 'identifier': modelo de classe não especificado/genérico não pode ser usado como um argumento de modelo/genérico para o parâmetro 'parameter' de modelo/genérico, esperado um tipo real |
Erro do compilador C3204 | 'function' não pode ser chamada de dentro de um bloco catch |
Erro do compilador C3205 | lista de argumentos para o parâmetro de modelo de modelo 'identifier' está ausente |
Erro do compilador C3206 | 'function': argumento de modelo/genérico inválido para 'template', lista de argumentos de modelo/genérico ausente no modelo de classe/'tipo' genérico |
Erro do compilador C3207 | 'function': argumento de modelo inválido para 'parâmetro', esperado modelo de classe |
Erro do compilador C3208 | 'function': lista de parâmetros de modelo para o modelo de classe 'template' não corresponde à lista de parâmetros de modelo para o parâmetro de modelo de modelo 'parameter' |
Erro do compilador C3209 | 'type': classe genérica deve ser uma classe gerenciada/WinRT |
Erro do compilador C3210 | 'identifier': a declaração de acesso só pode ser aplicada a um membro da classe base |
Erro do compilador C3211 | 'function': a especialização explícita está usando a sintaxe de especialização parcial, use template <> em vez disso |
Erro do compilador C3212 | 'function': uma especialização explícita de um membro de modelo deve ser membro de uma especialização explícita |
Erro do compilador C3213 | classe base 'class' é menos acessível que 'derived_class' |
Erro do compilador C3214 | 'argument': argumento de tipo inválido para o parâmetro genérico 'parameter' de 'type' genérico, não atende àrestrição 'constraint' |
Erro do compilador C3215 | 'constraint1': parâmetro de tipo genérico já restrito por 'constraint2' |
Erro do compilador C3216 | restrição deve ser um parâmetro genérico, não 'tipo' |
Erro do compilador C3217 | 'parameter': parâmetro genérico não pode ser restrito nesta declaração |
Erro do compilador C3218 | 'type': tipo não permitido como restrição |
Erro do compilador C3219 | 'parameter': parâmetro genérico não pode ser restrito por várias não interfaces: 'type' |
Erro do compilador C3220 | 'interface': interface não pode ter progid |
Erro do compilador C3221 | 'member': múltiplos atributos 'default' e 'case' não permitidos em um membro |
Erro do compilador C3222 | 'function': não é possível declarar argumentos padrão para funções membro de um tipo gerenciado/WinRT ou funções genéricas |
Erro do compilador C3223 | 'property': você não pode aplicar 'typeid ' a uma propriedade |
Erro do compilador C3224 | 'type': nenhuma classe genérica sobrecarregada usa argumentos de tipo genérico 'number' |
Erro do compilador C3225 | O argumento de tipo genérico para 'argument' não pode ser 'type', deve ser um tipo de valor ou um identificador para um tipo de referência |
Erro do compilador C3226 | Uma declaração de template não é permitida dentro de uma declaração de generic |
Erro do compilador C3227 | 'type': não é possível usar 'operator' para alocar um tipo genérico |
Erro do compilador C3228 | 'function': o argumento de tipo genérico para 'argument' não pode ser 'type', deve ser um tipo de valor ou tipo de identificador |
Erro do compilador C3229 | 'type': indireções em um parâmetro de tipo genérico não são permitidas |
Erro do compilador C3230 | 'function': o argumento de tipo de modelo para 'argument' não pode conter um parâmetro de tipo genérico: 'type' |
Erro do compilador C3231 | 'type': o argumento de tipo de modelo não pode usar um parâmetro de tipo genérico |
Erro do compilador C3232 | 'parameter': um parâmetro de tipo genérico não pode ser usado em um nome qualificado |
Erro do compilador C3233 | 'type': parâmetro de tipo genérico já restrito |
Erro do compilador C3234 | uma classe genérica poderá não derivar de um parâmetro de tipo genérico |
Erro do compilador C3235 | 'specialization': a especialização explícita ou parcial de uma classe genérica não é permitida |
Erro do compilador C3236 | instanciação explícita de um genérico não é permitida |
Erro do compilador C3237 | 'class': uma classe de generic não pode ser um atributo personalizado |
Erro do compilador C3238 | 'type': um tipo com este nome já foi enviado para assembly 'assembly' |
Erro do compilador C3239 | 'type' : o ponteiro para ponteiro interior/pin não é permitido pelo Common Language Runtime |
Erro do compilador C3240 | 'identifier': precisa ser uma função de membro abstrata não sobrecarregada de 'type' |
Erro do compilador C3241 | 'member': este método não foi introduzido por 'interface' |
Erro do compilador C3242 | 'function': só é possível substituir explicitamente funções virtuais |
Erro do compilador C3243 | nenhuma das funções de sobrecarga foi introduzida por 'interface' |
Erro do compilador C3244 | 'member': este método foi introduzido por 'interface1' não por 'interface2' |
Erro do compilador C3245 | 'function': o uso de um modelo de variável requer uma lista de argumentos de modelo |
Erro do compilador C3246 | 'class': não pode herdar de 'base_class' porque foi declarada como 'inheritance' |
Erro do compilador C3247 | 'coclass': uma coclass não pode herdar de outra coclass 'base_class' |
Erro do compilador C3248 | Obsoleto. 'function': função declarada como 'sealed' não pode ser substituída por 'function' |
Erro do compilador C3249 | instrução ilegal ou subexpressão para a função 'constexpr ' (Obsoleto no Visual Studio 2022). |
Erro do compilador C3250 | 'declaration': a declaração não é permitida no corpo da função 'constexpr ' (Obsoleto no Visual Studio 2022). |
Erro do compilador C3251 | não é possível invocar o método de classe base em uma instância de tipo de valor (Obsoleto no Visual Studio 2022). |
Erro do compilador C3252 | 'function': não é possível reduzir a acessibilidade de um método virtual em um tipo gerenciado/WinRT |
Erro do compilador C3253 | 'function': erro com substituição explícita |
Erro do compilador C3254 | 'function': classe contém substituição explícita 'function' mas não deriva de uma interface que contenha a declaração da função |
Erro do compilador C3255 | 'type': não é possível alocar dinamicamente este objeto de tipo value em heap nativo |
Erro do compilador C3256 | 'function': o uso de variável não produz uma expressão constante (Obsoleto no Visual Studio 2022). |
Erro do compilador C3257 | Obsoleto. |
Erro do compilador C3258 | Obsoleto. |
Erro do compilador C3259 | As funções 'constexpr ' só podem ter uma instrução return (Obsoleta no Visual Studio 2022). |
Erro do compilador C3260 | 'token': ignorando token(s) inesperado(s) antes do corpo lambda |
Erro do compilador C3261 | uma função que retorna uma matriz gerenciada/WinRT deve ter colchetes de matriz no final da declaração: 'identifier(...) []' |
Erro do compilador C3262 | indexação de matriz inválida: number dimensões especificadas para number-dimensões 'type' |
Erro do compilador C3263 | Obsoleto. |
Erro do compilador C3264 | 'identifier': um construtor de classe não pode ter um tipo de retorno |
Erro do compilador C3265 | não é possível declarar um 'managed_construct' gerenciado em um 'unmanaged_construct' não gerenciado |
Erro do compilador C3266 | 'function': um construtor de classe deve possuir uma lista de parâmetros 'void ' |
Erro do compilador C3267 | Obsoleto. |
Erro do compilador C3268 | 'function': uma função genérica ou uma função-membro de uma classe genérica não pode ter uma lista de parâmetros variáveis |
Erro do compilador C3269 | 'function': uma função membro de um tipo gerenciado/WinRT não pode ser declarada com '... ' |
Erro do compilador C3270 | 'field': o atributo FieldOffset só pode ser usado no contexto de StructLayout(LayoutKind::Explicit) |
Erro do compilador C3271 | 'field': valor inválido de 'number' para o atributo FieldOffset |
Erro do compilador C3272 | 'symbol': símbolo exige FieldOffset , pois é um membro de struct/class type_name definido com StructLayout(LayoutKind::Explicit) |
Erro do compilador C3273 | 'keyword': não permitida no bloco C++ try |
Erro do compilador C3274 | finally / __finally sem correspondênciatry |
Erro do compilador C3275 | 'identifier': não é possível usar esse símbolo sem qualificador (Obsoleto no Visual Studio 2022.) |
Erro do compilador C3276 | 'keyword': o salto fora do bloco finally /__finally tem um comportamento indefinido durante a manipulação de término |
Erro do compilador C3277 | não é possível definir uma enumeração 'enumeration' não gerenciada dentro do 'tipo' gerenciado |
Erro do compilador C3278 | chamada direta de interface ou método puro 'function' falhará em tempo de execução |
Erro do compilador C3279 | especializações parciais e explícitas, bem como instanciações explícitas de modelos de classe declarados no namespace cli não são permitidas |
Erro do compilador C3280 | 'function': uma função membro de um tipo gerenciado não pode ser compilada como uma função não gerenciada |
Erro do compilador C3281 | 'function': operador global não pode ter tipo 'type' gerenciado/WinRT na assinatura |
Erro do compilador C3282 | listas de parâmetros genéricos só podem aparecer em classes gerenciadas/WinRT, structs ou funções |
Erro do compilador C3283 | 'interface': uma interface não pode ter um construtor de instância |
Erro do compilador C3284 | as restrições para o parâmetro genérico 'parameter' da função 'declarator' devem corresponder às restrições do parâmetro genérico 'parameter' da função 'declarator' |
Erro do compilador C3285 | a instrução each não pode operar em variáveis do tipo 'type' |
Erro do compilador C3286 | 'specifier': uma variável de iteração não pode ter nenhum especificador de classe de armazenamento |
Erro do compilador C3287 | o tipo 'type' (tipo de retorno de GetEnumerator ) deve ter uma função de membro público MoveNext adequada e uma propriedade pública Current |
Erro do compilador C3288 | 'type' : desreferência inválida de um tipo de identificador |
Erro do compilador C3289 | 'identifier': uma propriedade trivial não pode ser indexada |
Erro do compilador C3290 | 'type': uma propriedade trivial não pode possuir tipo de referência |
Erro do compilador C3291 | 'default': não pode ser o nome de uma propriedade trivial |
Erro do compilador C3292 | o namespace cli não pode ser reaberto |
Erro do compilador C3293 | 'identificador': use 'default ' para acessar a propriedade padrão (indexador) para a classe 'class' |
Erro do compilador C3294 | Obsoleto. |
Erro do compilador C3295 | '#pragma especifier' só pode ser usado no escopo global ou de namespace |
Erro do compilador C3296 | 'identifier': já existe uma propriedade com este nome |
Erro do compilador C3297 | 'constraint2': não é possível usar 'constraint1' como uma restrição porque 'constraint1' tem a restrição de valor |
Erro do compilador C3298 | 'constraint1': não pode usar 'constraint2' como uma restrição porque 'constraint2' tem a restrição ref e 'constraint1' tem a restrição de valor |
Erro do compilador C3299 | ' function': não é possível especificar restrições, elas são herdadas do método base |
Confira também
Compilador C/C++ e erros e avisos das ferramentas de build
Erros do compilador C2000 a C3999, C7000 a C7999