1

Visual Studio 2005 SP1 の C/C++ の [詳細] プロパティ ページで多くの警告を抑制することができます。これにより、IDE はコンパイラを呼び出すコマンド ラインで /wd スイッチを使用します。ただし、警告 4200 (非標準の拡張機能が使用されています: 構造体/共用体のサイズがゼロの配列) を抑制しようとすると、コンパイル時に表示されます。(もちろん、それは正当化されます。私はコードを修正する立場にないだけでなく、コードが生成され、警告が状況下で完全に良性であるため、気にする価値もありません。)誰かがたまたまこれがコンパイラのバグ?または、それについて私にできることはありますか?

4

2 に答える 2

3

ファイルの警告を完全に無効にするには、ファイルの先頭に次を追加します。

#pragma warning(disable:2400)

ファイルの一括無効化以外の柔軟性が必要な場合は、次のページにその他のより細かいオプションがいくつかリストされています。

コンパイラのバグなのか、設定の問題なのか、あなたの情報では不明です。私は構成の問題、特に警告を抑制するのを困難にしている競合するコンパイラ オプションに傾倒します。

編集

OPは、生成されたコードを制御できないため、プラグマを直接含めることはできないと述べました。そんなときは、この裏技を試してみてください。ファイル名が Generated.cpp だとします。コンパイルするファイルの 1 つとして Generated.cpp を含めなくなりました。代わりに、次の内容で Example.cpp という名前の新しいファイルを作成します

#pragma warning(disable:2400)
#include "Generated.cpp"

これで、Example.cpp をコンパイルするだけで、警告が無効になっている Generated.cpp のテキストを取得できます。

于 2009-05-01T01:02:56.873 に答える
1

あなたはpragmaのように意味しますか?

#pragma warning( disable : 2400 )
于 2009-05-01T01:04:49.350 に答える