C言語なら俺に聞け! Part 108
■ このスレッドは過去ログ倉庫に格納されています
0345デフォルトの名無しさん
2005/06/10(金) 04:25:16void foo(void){
printf("foo\n");
}
int main(int argc, char **argv){
char *ptr;
ptr = argc > 1 ? "ok" : (foo(), NULL);
return 0;
}
このプログラム、GCCでコンパイルしたときに、32ビットの処理系だと何も
警告が出ないのに、64ビットの処理系だと。
warning: pointer/integer type mismatch in conditional expression
という警告がでてしまいます。C言語としては問題ないような気がするのですが、
なぜこのような警告が出るのでしょうか。
■ このスレッドは過去ログ倉庫に格納されています