下面代码编译会产生问题的是哪句?
struct Test
{
Test(int){}
Test(){}
void fun(){}
};
int main(void)
{
Test a(1); //1
a.fun(); //2
Test b(); //3
b.fun(); //4
return 0;
}
struct Test
{
Test(int){}
Test(){}
void fun(){}
};
int main(void)
{
Test a(1); //1
a.fun(); //2
Test b(); //3
b.fun(); //4
return 0;
}
Test b();编译器会把这句当做一个函数声明,所以编译出错的是b.fun();