私は確かに何かを見逃していますが、これが(g ++とclang ++の両方で)コンパイルされる理由がわかりません:
struct A
{
};
struct B
{
};
int main()
{
A a(B);
}
まず第一にB
、型です...値ではありません。このコードをどのように解釈すればよいですか?
37
これは最も
—
厄介な
@alterigelほんと?この場合、あいまいさはありません。関数宣言のみが可能です。
—
クルミ
A a(B());
変数の定義や関数の宣言ではありません。
@alterigel-これは最も厄介な解析ではありません。リンクしたページの例を見てください。これは単に関数宣言です。
—
ピートベッカー
@PeteBecker、これがMVPではない理由を説明したほうがいいのではなく、MVPでないことを主張するだけの方が良いかもしれません。
—
JPhi1618