Teilen über


Compilerfehler C3345

'identifizierer': Unzulässiger Bezeichner für den Modulnamen

Bemerkungen

Der Bezeichner für ein Modul enthält mindestens ein ungültiges Zeichen. Ein Bezeichner ist gültig, wenn das erste Zeichen ein Buchstabe, ein Unterstrich oder ein hohes ANSI-Zeichen (0x80-FF) und jedes nachfolgende Zeichen alphanumerisch, ein Unterstrich oder ein hohes ANSI-Zeichen ist.

So beheben Sie diesen Fehler

  1. Stellen Sie sicher, dass der Bezeichner keine Leerzeichen oder sonstigen ungültigen Zeichen enthält.

Beispiel

Das folgende Codebeispiel verursacht Fehlermeldung C3345, da der name -Parameter des module -Attributs ein Leerzeichen enthält.

// 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);
   }
};

Siehe auch

__iscsym
Zeichenklassifizierung
module