2011-11-09 5 views
11

私は構造体上のポインタを取得する関数を実行したいです。 私はこれをやっ: warning: variable ‘list’ set but not used [-Wunused-but-set-variable]GCCの警告は「設定されていますが使用されていません」と表示されませんか?

この機能(これだけ)のために、この警告を無効にする、またはGCCは上の属性を置くことは可能です:

コンパイル時に
void *getTokenList() { 
    static t_token *list; 

    return &list; 
} 

、私はこの警告を持っていますこの変数をこの警告を非表示にするには?

私は#pragma GCC diagnostic ignored "-Wunused-but-set-variable"を私のファイルの上に置いていましたが、この変数にはこの警告だけを表示します。

おかげで、 ジャン

+1

どのバージョンのgccがそれを提供していますか?鉱山(gcc 4.5.2)はそうではありません。あなたが本当にその変数のアドレスを呼び出し元に返すなら、これは間違いなく偽です。 –

+0

'' '私のファイルの上に '#pragma GCC diagnostic ignored" -Wunused-but-set-variable "を置いていましたが、これはすばらしいことです。未使用の変数が外部の開発者から取得したファイルにあって、最小限の変更を追加したいと思っていたので、私にとって完璧に機能しました... –

答えて

15

は、あなたはそれを遮断するためにこれを使用することができます。

(void)list; 

代わりと少ない可搬性あなたが__attribute__((unused))を使用することができます。

+0

+1 __attribute __((未使用))ははっきりとはっきりしていますが、 ! – Macmade

1

static t_token *__attribute__((unused)) list;

関連する問題