Я столкнулся с странным поведением следующего кода, играя с инициализацией int с помощью 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++?