Я построил MinGW из магистральной версии GCC-4.7.0: http://code.google.com/p/mingw-builds/downloads/list
В описании изменений этой версии сказано, что инициализаторы элементов нестатического ввода данных реализованы: http://gcc.gnu.org/gcc-4.7/changes.html
http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2008/n2756.htm
Когда я пытаюсь скомпилировать такой пример:
#include <iostream>
#include <string>
struct type {
type()
:i(33)
{}
int i;
std::string s("string");
};
int main() {
type t;
std::cout << t.i << " : " << t.s << std::endl;
}
Я получаю массу ошибок, и это в конце:
main.cpp: 16: 35: note: 'std::string (type::) (int) {aka std:: basic_string (type::) (int)} 'не выводится из' const std:: basic_string < _CharT, _Traits, _Alloc > 'main.cpp: 16: 35: note: не удалось разрешить адрес из перегруженной функции 't.type:: s'
Но в соответствии с документацией код правильный.