一个编译异常分析
一个编译错误分析struct Test {Test (int){}Test(){}void fun(){}}int main(){Test a(1)//1a.fun()//2T
一个编译错误分析
struct Test
{
Test (int){}
Test(){}
void fun(){}
};
int main()
{
Test a(1); //1
a.fun(); //2
Test b(); //3
b.fun(); //4
return 0;
}
1-4这四句的错误,请给出原因,谢谢
[解决办法]都说得很清楚了啊,你应该自己思考啊。
2和4没什么区别啊,主要是1和3
第一句是申明一个对象,而第三句有歧义啊,你的编译器把它当成了一个函数声明,而不是定义一个b的对象。