c++ 提示我表达式必须包含类类型是什么意思?

 我来答
bolibei玻璃
推荐于2019-09-21 · TA获得超过1.3万个赞
知道小有建树答主
回答量:153
采纳率:95%
帮助的人:56.9万
展开全部
  1. 意思是你的 Test3 t();不能这么写,你这么写等于声明了一个函数t,它返回Test3的类型。

  2. 如果你想表达的是“定义一个Test3类型的变量,以它的默认构造函数”,那么去掉括号即可。

  3. 意思可能是你的Box a的初始化不对,a成了函数定义,定义函数a,返回类型是Box,接受三个整形参数 l,w,h。

  4. 正常初始化是 Box a(1,3,4), 不过看你的意思,你是要在构造函数里通过屏幕输入完成类构造,那么构造函数就不需要那三个参数了。

  5. 构造函数接受屏幕输入下的代码:

    #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;

    }

  6. 不过一般来说构造函数要尽快完成,在构造函数里io会影响到类实例的创建,为错误处理增加麻烦。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式