Compartilhar via


Erro do compilador C3345

'identifier': identificador inválido para o nome do módulo

O identificador de um módulo contém um ou mais caracteres inaceitáveis. Um identificador é válido se o primeiro caractere for um caractere alfabético, sublinhado ou ANSI alto (0x80-FF) e qualquer caractere subsequente for um caractere alfanumérico, sublinhado ou ANSI alto.

Para corrigir este erro

  1. Verifique se o identificador não contém espaços em branco ou outros caracteres inaceitáveis.

Exemplo

O exemplo de código a seguir causa a mensagem de erro C3345 porque o parâmetro namedo atributo module contém um espaço em branco.

// cpp_attr_name_module.cpp
// compile with: /LD /link /OPT:NOREF
#include <atlbase.h>
#include <atlcom.h>
#include <atlwin.h>
#include <atltypes.h>
#include <atlctl.h>
#include <atlhost.h>
#include <atlplus.h>

// C3345 expected
[module(dll, name="My Library", version="1.2", helpfile="MyHelpFile")]
// Try the following line instead
//[module(dll, name="MyLibrary", version="1.2", helpfile="MyHelpFile")]
// Module attribute now applies to this class
class CMyClass {
public:
BOOL WINAPI DllMain(DWORD dwReason, LPVOID lpReserved) {
   // add your own code here
   return __super::DllMain(dwReason, lpReserved);
   }
};

Confira também

__iscsym
Classificação de caracteres
module