Стандарт С++ 11 8.5.4.3 гласит:
«Если в списке инициализаторов нет элементов, а T является типом класса с конструктором по умолчанию, объект инициализируется значением».
struct A
{
int get() { return i; }
private:
int i;
};
int main()
{
A a = {};
int n = a.get();
cout << n << endl;
// n is a random number rather than 0
return 0;
}
Это ошибка VС++? Мой VC++ — это последняя версия CTP от ноября 2012 года.
std::cout << n << std::endl;
? - person helium   schedule 16.12.2012