typedef int A;
typedef int B;
void foo(A arg){}
void main(void){
B wrongvar = 7;
foo(wrongvar);
}
標準によれば、この構造は警告/エラーを返すはずですか? 最も人気のあるコンパイラはどうですか?
例: キログラムとメートルを表す変数があり、すべて「int」型です。メーターを処理する機能があります。キログラムを意味する変数変数をその関数に渡すことに関連するバグをコンパイラーにキャッチしてもらいたいのです。
Adaはそれをスムーズに処理してくれると思います。現代のCはどうですか?