私は を使用して OS X を使用しており、このアーカイブi686-apple-darwin11-llvm-gcc-4.2
からさまざまなプログラムをコンパイルしようとしています。
http://tog.acm.org/resources/GraphicsGems/
一部の void または int 関数は、警告を生成する戻り値の型なしで定義されています。
ConcaveScan.c:149:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
compare_ind(u, v) int *u, *v; {return pt[*u].y <= pt[*v].y ? -1 : 1;}
これについてはよくわかりません: エラーがあります
cc -g -Wno-implicit-int -Wreturn-type -c -o AAPolyScan.o AAPolyScan.c
AAPolyScan.c:106:4: error: non-void function 'drawPolygon' should return a value [-Wreturn-type]
return; /* (null polygon) */
私が理解しているように、コンパイラは int を返す関数として暗黙的に宣言されていると考えているようですが、関数は void を返し、エラーが発生します。return
int を返すように宣言された関数をC で使用することは理にかなっていますか? 私はここで混乱しています..
これをうまくコンパイルするにはどうすればよいですか?必ずしもコンパイルに失敗するわけではありませんが、警告はあまり有益ではありません。古い構文を使用して書かれており、私はそれを知っています。