Compartilhar via


Erros do compilador C3300 a C3399

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 C3300 'symbol': formato impróprio para 'value' de IDL
Erro do compilador C3301 'coclass': coclass não pode ser uma interface 'symbol'
Erro do compilador C3302 'identifier': o identificador tem mais do que number caracteres
Erro do compilador C3303 'attribute': o atributo só pode ser usado em 'type'
Erro do compilador C3304 Obsoleto.
Erro do compilador C3305 Obsoleto.
Erro do compilador C3306 'template': não é permitidomodelo/genérico de classe sem nome
Erro do compilador C3307 'module': não é possível criar um módulo de IDL
Erro do compilador C3308 'function': não há suporte para chamada direta através de classe importada
Erro do compilador C3309 'macro/keyword': o nome do módulo não pode ser uma macro ou uma palavra-chave
Erro do compilador C3310 'identifier': conflito de nome do módulo
Erro do compilador C3311 o atributo de módulo deve ser definido em escopo global
Erro do compilador C3312 nenhuma função 'identifier' chamável encontrada para o tipo 'type'
Erro do compilador C3313 a variável 'identificador': não pode ter o tipo 'type'
Erro do compilador C3314 'symbol': tipo de módulo de IDL não suportado
Erro do compilador C3315 'function': precisa ser uma função membro
Erro do compilador C3316 'type': uma matriz de tamanho desconhecido não pode ser usada em uma instrução for com base em intervalo
Erro do compilador C3317 'identifier': uma função de sobrecarga não pode ser usada como expressão em uma instrução for baseada em intervalo
Erro do compilador C33181 'type': uma matriz não pode ter um tipo de elemento que contém 'auto'
Erro do compilador C3319 Obsoleto.
Erro do compilador C3320 'type': o tipo não pode ter o mesmo nome que a propriedade 'name' de módulo
Erro do compilador C3321 uma lista de inicializadores é inesperada neste contexto
Erro do compilador C3322 'property': não é uma propriedade válida para o atributo 'attribute'
Erro do compilador C3323 'alinharcomo' e '__declspec(alinhar)' não são permitidos nas declarações de função
Erro do compilador C3324 'property': a propriedade ocorre mais de uma vez no atributo 'attribute'
Erro do compilador C3325 'attribute': o atributo possui muito argumentos
Erro do compilador C3326 'value': não é um valor válido para a propriedade 'property' do atributo 'attribute'
Erro do compilador C3327 'property': deve especificar valor para propriedade do atributo 'attribute'
Erro do compilador C3328 'attribute': o atributo não possui argumentos suficientes
Erro do compilador C3329 Erro de sintaxe: 'token1' esperado, não 'token2'
Erro do compilador C3330 ' function': uma função não pode retornar uma matriz 'type'
Erro do compilador C3331 'identifier': os atributos em parâmetros são permitidos apenas em interfaces e coclasses COM
Erro do compilador C3332 'property': gramática inconsistente; a propriedade 'property' é necessária e tem um padrão
Erro do compilador C3333 'library': não é possível usar #import com uma biblioteca de tipos corrompida
Erro do compilador C3334 não é possível #importar a biblioteca de tipos corrompidos
Erro do compilador C3335 'identifier': pode haver no máximo uma interface padrão para uma coclass 'class'
Erro do compilador C3336 Esta operação deve ser realizada em escopo de classe
Erro do compilador C3337 'identifier': defaultvtable deve ser uma origem do evento para uma coclass 'class'
Erro do compilador C3338 'identifier': pode haver no máximo uma interface padrão que seja também uma origem do evento para uma coclass 'class'
Erro do compilador C3339 o parâmetro do modelo requer 'class' ou 'typename' após a lista de parâmetros
Erro do compilador C3340 'identifier': a interface não pode ser 'restricted' e 'default' na coclass 'class'
Erro do compilador C3341 'interface': uma interface defaultvtable deve ser 'dual' ou 'custom'
Erro do compilador C3342 'identifier': atributo ambíguo
Erro do compilador C3343 'class::name': o identificador de atributo possui muitos caracteres
Erro do compilador C3344 não é possível definir uma especialização explícita nem uma especialização parcial de 'symbol'
Erro do compilador C3345 'name': identificador inválido para nome de módulo
Erro do compilador C3346 declaração exportada no escopo sem namespace
Erro do compilador C3347 'argument': o argumento necessário não é especificado no atributo attribute-name
Erro do compilador C3348 modelos exportados não são parte dos padrões C++ atuais
Erro do compilador C3349 'class::member': o atributo multicast já foi implementado pelo provedor provider-name
Erro do compilador C3350 ' function': um construtor delegado espera argumentos number
Erro do compilador C3351 ' function': se você passar uma instância de objeto NULL para um construtor delegado, você precisa passar também o endereço de uma função membro estática
Erro do compilador C3352 'function': a função especificada não corresponde ao tipo de delegado 'type'
Erro do compilador C3353 'identifier': um delegate só pode ser criado a partir de uma função global ou de uma função membro de um tipo gerenciado/WinRT
Erro do compilador C3354 'identifier': a função usada para criar um delegado não pode ter o tipo de retorno 'type'
Erro do compilador C3355 'class::member': o atributo multicast escuta o provedor 'provider1', mas é implementado pelo provedor 'provider2'
Erro do compilador C3356 'identifier': não é possível chamar um atributo multicast com um nome totalmente qualificado
Erro do compilador C3357 'attribute': o atributo é ambíguo, deve usar nome totalmente qualificado
Erro do compilador C3358 'symbol': símbolo não encontrado
Erro do compilador C3359 'specialization': não é possível especializar o modelo
Erro do compilador C3360 'string': não é possível criar name
Erro do compilador C3361 não há contexto no qual agir
Erro do compilador C3362 'class::member': o atributo multicast não foi implementado
Erro do compilador C3363 'identifier': 'typeid' só pode ser aplicado a um tipo
Erro do compilador C3364 ' function': argumento inválido para construtor delegate; destino de delegate deve ser um ponteiro para uma função membro
Erro do compilador C3365 operador 'operator': operandos diferentes do tipo 'type' e 'type'
Erro do compilador C3366 'member': os membros de dados estáticos dos tipos gerenciados/WinRT devem ser definidos dentro da definição de classe
Erro do compilador C3367 ' function': não é possível usar função static para criar um delegate não associado
Erro do compilador C3368 'declarator': convenção de chamada inválida para IDL
Erro do compilador C3369 'module': idl_module já definido
Erro do compilador C3370 'module': idl_module ainda não definido
Erro do compilador C3371 “idl_module”: apenas a propriedade “name” é permitida aqui
Erro do compilador C3372 deve especificar pelo menos 1 interface para o atributo 'attribute' em uma coclass
Erro do compilador C3373 o atributo 'attribute' não usa argumentos, exceto em um coclass
Erro do compilador C3374 não é possível obter o endereço de 'function' a menos que se crie uma instância delegada
Erro do compilador C3375 'function': função delegada ambígua
Erro do compilador C3376 'template': somente modelos de membros de dados estáticos são permitidos
Erro do compilador C3377 'decltype(auto)' não é permitido em uma nova expressão (obsoleto no Visual Studio 2022.)
Erro do compilador C3378 uma declaração pode ser exportada somente de uma unidade de interface de módulo
Erro do compilador C3379 'class': uma classe aninhada não pode ter um especificador de acesso de assembly como parte da própria declaração
Erro do compilador C3380 'specifier': especificador de acesso de assembly inválido – apenas 'public' ou 'private' são permitidos
Erro do compilador C3381 'specifier': especificadores de acesso de assembly estão disponíveis apenas em código compilado com uma opção /clr
Erro do compilador C3382 'sizeof' não é compatível com /clr:safe
Erro do compilador C3383 'operator new' não é compatível com /clr:safe
Erro do compilador C3384 'type': a restrição value e a restrição ref são mutuamente exclusivas
Erro do compilador C3385 ' function': uma função que tem um atributo personalizado DllImport não pode retornar uma instância de uma classe
Erro do compilador C3386 'type': __declspec(dllexport)/__declspec(dllimport) não podem ser aplicados a um tipo gerenciado/WinRT
Erro do compilador C3387 'member': __declspec(dllexport)/__declspec(dllimport) não pode ser aplicado a um membro de um tipo gerenciado/WinRT
Erro do compilador C3388 'token': não permitido como uma restrição, assumindo 'value' para continuar a análise
Erro do compilador C3389 __declspec(specifier) não pode ser usado com /clr:pure ou /clr:safe
Erro do compilador C3390 'type': o argumento de tipo inválido para o parâmetro genérico 'parameter' do 'generic_type' genérico deve ser um tipo de referência
Erro do compilador C3391 'type': o argumento de tipo inválido para o parâmetro genérico 'parameter' do 'generic_type', genérico deve ser um tipo de valor não anulável
Erro do compilador C3392 'type': o argumento de tipo inválido para o parâmetro genérico 'parameter' do 'generic_type' genérico deve ter um constructor público sem parâmetros
Erro do compilador C3393 erro de sintaxe em cláusula de restrição: 'identifier' não é um tipo
Erro do compilador C3394 erro de sintaxe em cláusula de restrição: encontrado 'symbol' esperava-se um tipo
Erro do compilador C3395 ' function': __declspec(dllexport) não pode ser aplicado a uma função com a convenção de chamada __clrcall
Erro do compilador C3396 'class.member': atributo personalizado não encontrado em 'namespace'
Erro do compilador C3397 A inicialização de agregação não é permitida em argumentos padrão
Erro do compilador C3398 'operator': não é possível converter de 'type' em 'type'. A expressão de origem deve ser um símbolo de função
Erro do compilador C3399 'type': não é possível fornecer argumentos ao criar uma instância de um parâmetro genérico

1-Não é mais emitido no Visual Studio 2022 versão 17.11

Confira também

Compilador C/C++ e erros e avisos das ferramentas de build
Erros do compilador C2000 a C3999, C7000 a C7999