
c++ 提示我表达式必须包含类类型是什么意思?
1个回答
展开全部
意思是你的 Test3 t();不能这么写,你这么写等于声明了一个函数t,它返回Test3的类型。
如果你想表达的是“定义一个Test3类型的变量,以它的默认构造函数”,那么去掉括号即可。
意思可能是你的Box a的初始化不对,a成了函数定义,定义函数a,返回类型是Box,接受三个整形参数 l,w,h。
正常初始化是 Box a(1,3,4), 不过看你的意思,你是要在构造函数里通过屏幕输入完成类构造,那么构造函数就不需要那三个参数了。
构造函数接受屏幕输入下的代码:
#include<iostream>
using namespace std;
class Box
{
public:
Box()
void volume();
int l,w,h;
};
Box::Box()
{ cin>>l>>w>>h;cout<<endl;}
void Box::volume()
{cout<<l*w*h<<endl;}
int main()
{ Box a;
a.volume();
//Box::volume();
system("PAUSE");
return 0;
}
不过一般来说构造函数要尽快完成,在构造函数里io会影响到类实例的创建,为错误处理增加麻烦。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询