我收到警告:控制到达非 void 函数的末尾

2024-02-21

我的程序似乎在 Visual Studio 中运行良好,但是当我在 GCC 中运行它时,它给了我一个编译错误,称为

Book.cpp: In member function ‘sdds::Book& sdds::Book::addChapter(const char*, int)’:
Book.cpp:64:5: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^

我不知道该怎么办,有人可以帮忙吗? 这是我收到错误的函数

 Book& addChapter(const char* chapter_name, int noOfPages)
    {
        // create a new chapter
        Chapter chapter(chapter_name, noOfPages);
        // check if chapter is valid
        if (chapter.isValidChapter()) {
            // add the chapter to list of chapters
            // create a new list of chapters
            Chapter* chapters = new Chapter[this->noOfChapters + 1];
            // copy chapters to new array
            for (int i = 0; i < this->noOfChapters; i++)
                chapters[i] = this->chapters[i];
            // add the last chapter
            chapters[this->noOfChapters++] = chapter;
            // delete the old list of chapters
            delete this->chapters;
            // update the list of chapters
            this->chapters = chapters;
            return *this;
        }
    }

该警告意味着该函数:addChapter等待一些返回值。
当然,你有一个回报If statment但是,如果该语句为 False,则程序可能会崩溃。因为函数没有什么可返回的,但期望返回一些东西。
简单修复:确保函数始终返回某个值

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我收到警告:控制到达非 void 函数的末尾 的相关文章

随机推荐

  • Android MediaCodec 输出格式:GLES 外部纹理 (YUV/NV12) 到 GLES 纹理 (RGB)

    我目前正在尝试在 Android 上开发一个视频播放器 但在颜色格式方面遇到了困难 Context 我通过以下标准组合提取和解码视频媒体提取器 媒体编解码器 因为我需要提取的帧可用作 OpenGLES 纹理 RGB 我设置了我的解码器 媒体
  • 更改 FontSize 以适合 TextBlock

    我正在开发 Windows 8 应用商店应用程序 我们知道显示尺寸有很大不同 因此所有元素都有可拉伸设置 因此如果显示较小 元素 图片 图表等 较小 如果显示较大 则较大 除了 TextBlocks 标签 之外 一切都完美 TextBloc
  • 如何将图标添加到我的存储库?

    我发现 Gitlab 和 SourceTree 支持每个存储库的图标 这使得它们更加具体且易于一眼找到 这怎么可能 作为开发人员 我们有时需要进行更改以使我们的工具看起来有所不同 你可以添加一个小的 我更喜欢96px x 96px logo
  • 有什么跨平台方法可以从标头构建 cpp 骨架吗? [复制]

    这个问题在这里已经有答案了 我厌倦了将标头复制粘贴到我的 cpp 文件中 然后对其进行修改 直到其格式正确 有没有人编写过一个程序来读取头文件并制作相应的cpp框架 我需要一些跨平台的东西或者至少可以在 Linux 上运行的东西 vim 插
  • 使用全名搜索时,Gem Ransack 不会返回任何结果

    我正在使用 Ransack 和 Rails 3 我的看法 p class button p 我的架构 create table users force gt true do t t string first name
  • 从 SQL Server 中的表中选择 XML

    我的表中存储有 XML 该表具有 int 类型的列 id 和 XML 类型的值 我正在使用 SQL Server 2012 XML 看起来像这样
  • IPython %timeit 魔法的 -n 和 -r 参数

    我想使用以下方法对代码块进行计时timeitJupyter 笔记本中的魔法命令 根据文档 timeit需要几个参数 其中两个特别控制循环次数和重复次数 我不清楚这两个论点之间的区别 例如 import numpy N 1000000 v n
  • 如何检查列表中的任何单词是否包含部分字符串?

    var list alist Contains somestring 这匹配整个字符串 如何查看列表中的任何单词是否具有匹配 somestring 的子字符串 您可以使用可枚举 任意 http msdn microsoft com en u
  • gitosis 在哪里存储工作副本?

    我想知道 gitosis 在哪里存储我的存储库的工作副本 我可以通过 gitweb 界面看到文件树 但在 srv gitosis repositories testrepo 中找不到任何工作副本 我还能够推送和克隆到存储库 但是 在不知道工
  • 是否可以在 Delphi 可执行应用程序中嵌入并运行 exe 文件?

    资源文件 RES 接受任何类型的二进制文件 但如果它是 exe 文件 我该如何运行它 您必须将其作为文件提取到磁盘并执行它 尽管您不必将其提取到磁盘 正如 Cosmin Prund 在评论中所说 但如果您不这样做 则需要大量的艰苦工作
  • 如何构造一个不区分大小写的枚举?

    我有一个简单的 Python 2 7 枚举 from enum import Enum class Label enum RedApple 1 GreenApple 2 我希望能够使用不区分大小写的键创建枚举对象 fruitname red
  • 如何将命令行参数转换为 int?

    我需要获取一个参数并将其转换为 int 到目前为止 这是我的代码 include
  • R:从字符串定义函数

    我想定义一个函数f来自参数和表达式character从 a 读取的字符串 csv文件 这个功能f有以下表达式 f function parameters expression 其中参数是 n 个参数的列表 表达式是这些参数的函数 例如 参数
  • argv[0] 可以包含空字符串吗?

    在任何 C 程序中 命令行参数argv 0 指向用于调用程序的名称 有没有什么情况会指向空字符串 这种情况的示例代码片段将是一个很好的参考 它是实现定义的 5 1 2 2 1 删节 如果值argc大于零 数组成员argv 0 通过argv
  • 用于构建小型公司演示网站的简单 CMS

    我正在寻找一个免费 简单且高效的 CMS 来为一家小公司构建网站 先决条件是 该网站只不过是一个演示文稿 包含信息丰富的内容和画廊 该网站应该包含一个具有 js ajax 风格的漂亮画廊 目前没有更多计划 但如果 CMS 能够提供一些更通用
  • 防止在 DateTime 值反序列化时进行时区转换

    我有一个使用序列化 反序列化的类XmlSerializer 这个类包含一个DateTime field 当序列化时 DateTime字段由包含 GMT 偏移量的字符串表示 例如2010 05 05T09 13 45 05 00 反序列化时
  • OWIN OAuthAuthorizationServerProvider 中的 context.Request.User 为 null

    我正在尝试使用 OWIN 为本地 Intranet 上的 Web API v2 端点实现 OAuth 该 API 使用内置 Windows 身份验证托管在 IIS 中 简而言之 这就是我想要发生的事情 当我在 token 索要我的令牌时 将
  • Ruby 中类名前有双冒号?

    我在 Rails 中看到很多在类名之前使用双冒号的情况 例如 require File expand path config environment FILE 我知道什么Module Class Constant意思是 但是 Class 这
  • 使用 Jquery 获取当前 URL

    我对 javascript 和 jquery 很陌生 getJSON idcheck php callback url i want full url to be print function json alert json message
  • 我收到警告:控制到达非 void 函数的末尾

    我的程序似乎在 Visual Studio 中运行良好 但是当我在 GCC 中运行它时 它给了我一个编译错误 称为 Book cpp In member function sdds Book sdds Book addChapter con