出现错误:控制到达非 void 函数的末尾不知道为什么

发布于 2024-12-04 20:57:59 字数 462 浏览 0 评论 0原文

我不断收到以下错误,我不知道出了什么问题

cc1plus: warnings being treated as errors
scene.cpp: In member function ‘Image* Scene::getpicture(int) const’:
scene.cpp:179: error: control reaches end of non-void function

这是错误所在的代码部分:

Image* Scene::getpicture(int index) const {

    if(index<0 || index >maximum)
        cout << "invalid index" << endl;
    else {
        return images[index]; 
    }
}

I keep receiving the following error and I have no idea whats wrong

cc1plus: warnings being treated as errors
scene.cpp: In member function ‘Image* Scene::getpicture(int) const’:
scene.cpp:179: error: control reaches end of non-void function

Here is the part of the code that the error is in:

Image* Scene::getpicture(int index) const {

    if(index<0 || index >maximum)
        cout << "invalid index" << endl;
    else {
        return images[index]; 
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

破晓 2024-12-11 20:57:59

如果代码未输入 else 语句,则不会返回任何内容。因此,您需要在末尾或输入 if 语句时插入 return。

If the code does not enter the else statement, nothing gets returned. Therefore you need to insert a return either at the end or when you enter the if-statement.

酒浓于脸红 2024-12-11 20:57:59

if 语句的条件为 true 时,该函数不会返回值,因为在这种情况下没有执行 return 语句。

您需要返回一个值(或引发异常)。例如:

Image* Scene::getpicture(int index) const {
    if (index < 0 || index > maximum) {
        cout << "invalid index" << endl;
        return NULL;  // Return NULL in case of an invalid index
    } else {
        return images[index];
    }
}

When the condition of the if statement is true, then the function doesn't return a value, because there is no return statement that's executed in that case.

You need to return a value (or throw an exception). For example:

Image* Scene::getpicture(int index) const {
    if (index < 0 || index > maximum) {
        cout << "invalid index" << endl;
        return NULL;  // Return NULL in case of an invalid index
    } else {
        return images[index];
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文