以下代码有什么问题?
1
2
3
4
5
6
7
8
9
10
11
12
13
|
struct Test { Test( int ) {} Test() {} void fun() {} }; void main( void ) { Test a(1); a.fun(); Test b(); b.fun(); } |
b.fun()会出错
解析:Test b()并不会报错,但是b.fun()就会报错,是因为Test b()是声明一个函数b(),其返回类型为Test,这样调用fun()函数的话就会报错