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