Aviso do Compilador (nível 1 e nível 2) C4091
'palavra-chave': ignorado à esquerda de 'tipo' quando nenhuma variável é declarada
O compilador detectou uma situação em que o usuário provavelmente queria que uma variável fosse declarada, mas o compilador não foi capaz de declarar a variável.
Exemplos
Um atributo __declspec
no início de uma declaração de tipo definido pelo usuário se aplica à variável desse tipo. O aviso C4091 indica que nenhuma variável foi declarada. O exemplo a seguir gera o aviso 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 {};
Se um identificador for um typedef, ele também não poderá ser um nome de variável. O exemplo a seguir gera o aviso C4091.
// C4091_b.cpp
// compile with: /c /W1 /WX
#define LIST 4
typedef struct _LIST {} LIST; // C4091