关于结构体的构造函数

来源:百度知道 编辑:UC知道 时间:2024/06/08 15:12:16
struct Test
{
Test(){}
Test( int ) {}
Test(int,int) {}
void fun() {}
};
void main( void )
{
Test a(1);
a.fun();
Test b(2,3);
b.fun();
Test c();
c.fun();
}

为什么会有错Test c() 不行吗?为什么?

struct Test
{
Test(){}
Test( int ) {}
Test(int,int) {}
void fun() {}
};
void main( void )
{
Test a(1);
a.fun();
Test b(2,3);
b.fun();
Test c;
c.fun();
}

行是行,不过。。。不是你要的效果。
Test c();这是声明了一个函数名字叫做c,他没有参数,他的返回值是Test类型。
改成Test c;就对了