2016-07-06 4 views
0

私は、ヘッダーの1つにテール埋め込み構造体を定義するCライブラリを使用するC++アプリケーションを作成しています。あまり詳細に入るがなければ、それはやや次のようになります。C++でテール埋め込み配列に関する警告を処理する方法は?

struct MyStruct { 

    // ... other members 

    // The last member, a tail-padding array 
    MyType myBuffer[]; 
} 

は私がg++-std=c++0x-Wall -Wextra -Wpedantic -Werrorを使用しています。

残念ながら、g++は私にその配列についての警告を与える:

error: ISO C++ forbids zero-size array 'myBuffer' [-Wpedantic] 

これに対処するための正しい方法は何ですか?

私はヘッダにpragmaを追加することによって、自分自身を警告を抑制することができます知っている:

#pragma GCC diagnostic ignored "-Wpedantic" 

しかし、それは右に感じることはありません。あなたは何をお勧めしますか?

答えて

0

あなたは

  • はゼロ・サイズの配列を削除することができます。

  • -Wpedanticなし(おそらくそのファイルのみ)。

  • -Werrorなしでビルドし、警告を無視します。

  • それはまだ有効なC++ではありませんC.

+2

ようなコードをビルドします。 CコードをCコードとしてコンパイルするのはどうですか? – juanchopanza

関連する問題