Я столкнулся со странным поведением следующего кода, когда играл с инициализацией целых чисел с помощью g ++ 4.4.3.
int main()
{
int x(int());
int y = int();
cout << x << " " << y << endl;
}
результат:
1 0
Значение «y» равно 0, как и ожидалось, но значение x странно «1»!
В VS2008 выдает следующую ошибку ссылки (объявление функции, но без определения):
unresolved external symbol "int __cdecl x(int (__cdecl*)(void))"
Кто-нибудь может объяснить это странное поведение g ++?