コンパイラ エラー C2004

更新 : 2007 年 11 月

エラー メッセージ

'defined (id)' の形式にしてください。

プリプロセッサ キーワードの後にはかっこで囲んだ識別子を指定する必要があります。

このエラーは、プリプロセッサ ディレクティブにかっこがない Visual Studio .NET 2003 で行ったコンパイラ準拠作業の結果として生成されることもあります。閉じかっこがプリプロセッサ ディレクティブにない場合は、コンパイラがエラーを生成します。

詳細については、「Summary of Compile-Time Breaking Changes」を参照してください。

使用例

次の例では C2004 エラーが生成されます。

// C2004.cpp
// compile with: /DDEBUG
#include <stdio.h>

int main() 
{
    #if defined(DEBUG   // C2004
        printf_s("DEBUG defined\n");
    #endif
}

解決方法 :

// C2004b.cpp
// compile with: /DDEBUG
#include <stdio.h>

int main() 
{
    #if defined(DEBUG)
        printf_s("DEBUG defined\n");
    #endif
}