struct POD { int i, j; }; class A { POD m_pod; public: A() : m_pod({1,2}) {} // error A() : m_pod(static_cast
({1,2})) {} // error A() : m_pod((POD) {1,2}) {} // ok! }; Я вижу это в старом производственном коде, скомпилированном с помощью
g++34
, до тех пор я не знал об этой функции.
Это особенность g++ ? Если нет, то зачем нужно приведение типов, и это тоже разрешено только приведением стиля C -?