Ostrzeżenie kompilatora (poziom 1 i poziom 2) C4091
"słowo kluczowe": ignorowane po lewej stronie "typu", gdy żadna zmienna nie jest zadeklarowana
Kompilator wykrył sytuację, w której użytkownik prawdopodobnie zamierzał zadeklarować zmienną, ale kompilator nie mógł zadeklarować zmiennej.
Przykłady
Atrybut __declspec
na początku deklaracji typu zdefiniowanego przez użytkownika ma zastosowanie do zmiennej tego typu. C4091 wskazuje, że zmienna nie jest zadeklarowana. Poniższy przykład generuje kod 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 {};
Jeśli identyfikator jest typedef, nie może być również nazwą zmiennej. Poniższy przykład generuje kod C4091.
// C4091_b.cpp
// compile with: /c /W1 /WX
#define LIST 4
typedef struct _LIST {} LIST; // C4091