2301_80842203 2024-06-23 18:01 采纳率: 50%
浏览 7

创建对象时报错显示缺分号,但不缺

img


创建clock对象的时候总是报错说缺少一个分号,以前没出现过这种情况,把代码复制到其它软件可以正常运行,最近就这一个代码出现这个错误…

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-06-23 18:01
    关注

    引自免费微信小程序:皆我百晓生

    这个问题是由于在C++代码中,clock::operator++()函数内部有递增操作符 ++ 和赋值运算符 =。递增操作符 ++ 的语法要求必须有一个分号(;),而赋值运算符 = 可以省略分号。

    为了解决这个问题,你需要在 clock::operator++() 函数内部添加一个分号。修改后的代码如下:

    #include<iostream>
    using namespace std;
    
    class clock {
    private:
        int hour, minute, second;
    public:
        // 其他成员变量和方法...
    
        if (hour == 0 && hour <= 24 && minute >= 0 && minute <= 60 && second >= 0 && second <= 60) {
            this->hour = hour;
            this->minute = minute;
            this->second = second;
            cerr << "Wrong time!" << endl;
            second++;
            (second >= 60) ? (second -= 60, minute++) : (minute -= 60, hour++);
            if (hour == 60) {
                clock old = *this;
                clock operator ++(int) {
                    ++(*this);
                    return old;
                }
                cout << "Hour : ";
                cout << minute << ":";
                cout << second << endl;
                clock c1(23, 59, 47);
                clock c2(23, 59, 48);
                // 重写 + operator...
            }
        }
    };
    

    这样就可以解决创建 clock 对象时报告缺少分号的问题了。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月23日