Upozornění kompilátoru (úroveň 1 a úroveň 2) C4091
'keyword': ignorováno nalevo od 'type' pokud není deklarována žádná proměnná
Kompilátor zjistil situaci, kdy uživatel pravděpodobně chtěl deklarovat proměnnou, ale kompilátor nemohl proměnnou deklarovat.
Příklady
Atribut __declspec
na začátku deklarace typu definované uživatelem se vztahuje na proměnnou tohoto typu. C4091 indikuje, že není deklarována žádná proměnná. Následující ukázka vygeneruje 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 {};
Pokud je identifikátor typedef, nemůže to být také název proměnné. Následující ukázka vygeneruje C4091.
// C4091_b.cpp
// compile with: /c /W1 /WX
#define LIST 4
typedef struct _LIST {} LIST; // C4091