バグってるのはコンパイラじゃなくて開発者のアタマである。
void x2(int* pData)
{
*pData = *pData * 2;
}
int main()
{
// 最後の 0 が無いと強制終了になる。
// コンパイラのバグと思われる。
short data[] = { 100, 200, 300, 400, 500, 0 };
for(int i = 0; i < 5; ++ i) {
short* pData = &data[i];
// short から int へのキャストなので絶対安全
x2((int*) pData);
printf("%d ", *pData);
}
return 0;
}
ひとのせいにしないで欲しい
処理系に依るので場合によっては動いているように見えるのです。
こういうことをしてしまう人は、往々にして、「デバッグビルドだと通るのに、リリースビルドだと落ちるですう」 って頭抱えてる人だねぇ。
う、うんこだああああああああああ
「コンパイラのバグと思われる。」( ー`дー´)キリッ
その自信はいったいどこから来るのか… そしてどこから突っ込めばいいのか…