读书人

一个编译异常分析

发布时间: 2013-08-09 15:16:24 作者: rapoo

一个编译错误分析

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的对象。

读书人网 >C++

热点推荐