2017-09-17 4 views
-2

clangでmain()プロトタイプチェックを無効にする方法はありますか? 私は主にunsigned int型をargcに使用していますが、gccでは完全に問題ありませんでしたが、clangはエラーになります(argcはintでなければなりません)。警告ではなくコンパイル不可能なエラーが表示されます。 私はいくつかの標準が同じことを言うことを知っていますが、私はまた、この場合unsigned intは大丈夫であり、このナンセンスを混乱させたくないことも知っています。clang main()プロトタイプチェックを無効にする

+3

*「いくつかの規格は同じことを知っています」* ** ** C標準のように?あなたがナンセンスを避けたいのであれば 'int'を使ってください。余分な価値のあるビットを必要とすることはまずありません。 – StoryTeller

+0

また、私はこれを知っています、これは質問ではありません。はい、私は余分なビットが必要ないだけでなく、私は必要はありません:署名された値を確実に署名されたarythmetic;ダム型キャスト/このintをunsigned intにラップします。私は(i = 0; i firk

+1

さて、 'i'にも' unsigned'型を使わないでください。問題が解決しました。 – StoryTeller

答えて

0

診断カテゴリを使用します。それらのすべてを表示するために使用します。

... return type of 'main' is not 'int' [-Wmain-return-type,2] ... 

# clang -Wno-main-return-type 
で再構築:

# clang --print-diagnostic-categories 

次に、この特定の警告カテゴリを識別するためとして、それは何かが表示されます

# clang -fdiagnostics-show-category=id 

を使用

そうだあなたの問題はどう?

お礼

+0

ありがとうございましたが、質問はargc型で、戻り型ではありませんでした – firk

関連する問題