次の方法で共有


コンパイラの警告 (レベル 1 およびレベル 2) C4091

'keyword': 変数が何も宣言されていないときは、'type' の左辺を無視します

コンパイラは、ユーザーが変数を宣言することを意図していたが、コンパイラが変数を宣言できなかった状況を検出しました。

ユーザー定義型宣言の先頭の __declspec 属性は、その型の変数に適用されます。 C4091 は、変数が宣言されていないことを示します。 次の例では 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 {};

識別子が typedef の場合、それを変数名にもすることはできません。 次の例では C4091 が生成されます。

// C4091_b.cpp
// compile with: /c /W1 /WX
#define LIST 4
typedef struct _LIST {} LIST;   // C4091