Avertissement du compilateur (niveaux 1 et 2) C4091
’mot clé’ : ignoré à gauche du ’type’ quand aucune variable n’est déclarée
Le compilateur a détecté une situation dans laquelle l’utilisateur a probablement prévu la déclaration d’une variable, mais que le compilateur n’a pas pu déclarer la variable.
Exemples
Un attribut __declspec
au début d’une déclaration de type défini par l’utilisateur s’applique à la variable de ce type. C4091 indique qu’aucune variable n’est déclarée. L’exemple suivant génère l’avertissement C4091.
// C4091.cpp
// compile with: /W1 /c
__declspec(dllimport) class X {}; // C4091
// __declspec attribute applies to varX
__declspec(dllimport) class X2 {} varX;
// __declspec attribute after the class or struct keyword
// applies to user defined type
class __declspec(dllimport) X3 {};
Si un identificateur est un typedef, il ne peut pas également représenter un nom de variable. L’exemple suivant génère l’avertissement C4091.
// C4091_b.cpp
// compile with: /c /W1 /WX
#define LIST 4
typedef struct _LIST {} LIST; // C4091