私は簡単な C プログラムを書きましたが、コンパイルに失敗することを期待していましたが、残念ながら C では正常にコンパイルおよび実行されますが、C++ ではコンパイルに失敗します。以下のプログラムを検討してください。
#include <stdio.h>
int main()
{
char *c=333;
int *i=333;
long *l=333;
float *f=333;
double *d=333;
printf("c = %u, c+1 = %u",c,c+1);
return 0;
}
このリンクにアクセスしてください: http://ideone.com/vnKZnx
C++ の強力な型チェックのために、このプログラムは間違いなく C++ でコンパイルできないと思います。このプログラムが C でコンパイルされるのはなぜですか? コンパイラも警告を表示するのは事実です。Orwell Dev C++ IDE (gcc 4.8.1 コンパイラ) を使用しています。他のコンパイラ (Borland Turbo C++ 4.5) でも同じプログラムを試し、拡張子 .c で保存しましたが、このコンパイラではコンパイルに失敗しました。