struct POD { int i, j; };
class A {
POD m_pod;
public:
A() : m_pod({1,2}) {} // error
A() : m_pod(static_cast<POD>({1,2})) {} // error
A() : m_pod((POD) {1,2}) {} // ok!
};
これは、でコンパイルされた古い製品コードで見られますがg++34
、それまではこの機能がわかりません。
それはg++固有の機能ですか?そうでない場合、なぜ型キャストが必要であり、それはCスタイルのキャストのみが許可されているのですか?