2 つの VS2010 プロジェクトにこのコードがあります。
__declspec(align(16)) struct S {
int a;
};
void f(S v) {}
整列された引数を関数に渡すことができないため (参照渡ししない限り)、コンパイルしないでください。私が予想したように、 1つのプロジェクトはそれを拒否します。しかし、他のプロジェクトはそれを正常にコンパイルし、実行時にクラッシュします。
私の質問は、これがコンパイルできるのはなぜですか?
すべてのコンパイラ オプションを調べましたが、関連するものは見つかりません。