首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一个编译异常分析

2013-08-09 
一个编译错误分析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的对象。

热点排行