未初始化成员的警告在 C++11 上消失

2024-05-04

我编译这个简单的程序:

#include <cstdio>
#include <iostream>

using namespace std;

struct Foo
{
    int a;
    int b;
};

struct Bar
{
    //Bar() = default;
    int d;
};

int main()
{
    Foo foo;
    Bar bar;

    printf("%d %d\n", foo.a, foo.b);

    return 0;
}

我收到这些警告:

$ g++ -std=c++11 -Wall -Wextra -Wpedantic foo.cpp -o foo
foo.cpp: In function ‘int main()’:
foo.cpp:21:9: warning: unused variable ‘bar’ [-Wunused-variable]
     Bar bar;
         ^
foo.cpp:23:11: warning: ‘foo.Foo::b’ is used uninitialized in this function [-Wuninitialized]
     printf("%d %d\n", foo.a, foo.b);
           ^
foo.cpp:23:11: warning: ‘foo.Foo::a’ is used uninitialized in this function [-Wuninitialized]

当然,这是我们所期望的。但是当我取消注释时Bar默认ctor,有一个问题-所有警告都消失了。

Why the Barctor 禁用警告Foo?

我的海湾合作委员会版本是:g++ (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 20160609.

该问题不会出现在 C++03 上,仅出现在 C++11 或更高版本上。


这是一个编译器错误,正如 Jarod 指出的那样,该错误已被修复。

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

未初始化成员的警告在 C++11 上消失 的相关文章

  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl
  • UML类图:抽象方法和属性是这样写的吗?

    当我第一次为一个小型 C 项目创建 uml 类图时 我在属性方面遇到了一些麻烦 最后我只是将属性添加为变量 lt
  • linux perf:如何解释和查找热点

    我尝试了linux perf https perf wiki kernel org index php Main Page今天很实用 但在解释其结果时遇到了困难 我习惯了 valgrind 的 callgrind 这当然是与基于采样的 pe
  • 如何忽略“有符号和无符号整数表达式之间的比较”?

    谁能告诉我必须使用哪个标志才能使 gcc 忽略 有符号和无符号整数表达式之间的比较 警告消息 gcc Wno sign compare 但你确实应该修复它警告你的比较
  • Newtonsoft JSON PreserveReferences处理自定义等于用法

    我目前在使用 Newtonsoft Json 时遇到一些问题 我想要的很简单 将要序列化的对象与所有属性和子属性进行比较以确保相等 我现在尝试创建自己的 EqualityComparer 但它仅与父对象的属性进行比较 另外 我尝试编写自己的
  • WPF 中的调度程序和异步等待

    我正在尝试学习 WPF C 中的异步编程 但我陷入了异步编程和使用调度程序的困境 它们是不同的还是在相同的场景中使用 我愿意简短地回答这个问题 以免含糊不清 因为我知道我混淆了 WPF 中的概念和函数 但还不足以在功能上正确使用它 我在这里
  • 指针问题(仅在发布版本中)

    不确定如何描述这一点 但我在这里 由于某种原因 当尝试创建我的游戏的发布版本进行测试时 它的敌人创建方面不起作用 Enemies e level1 3 e level1 0 Enemies sdlLib 500 2 3 128 250 32
  • 在 Visual Studio 2008 上设置预调试事件

    我想在 Visual Studio 中开始调试程序之前运行一个任务 我每次调试程序时都需要运行此任务 因此构建后事件还不够好 我查看了设置的 调试 选项卡 但没有这样的选项 有什么办法可以做到这一点吗 你唯一可以尝试的 IMO 就是尝试Co
  • 如何将图像和 POST 数据上传到 Azure 移动服务 ApiController 终结点?

    我正在尝试上传图片and POST表单数据 尽管理想情况下我希望它是json 到我的端点Azure 移动服务应用 我有ApiController method HttpPost Route api upload databaseId sea
  • C#:如何防止主窗体过早显示

    在我的 main 方法中 我像往常一样启动主窗体 Application EnableVisualStyles Application SetCompatibleTextRenderingDefault false Application
  • C 预处理器库

    我的任务是开发源分析工具C程序 并且我需要在分析本身之前预处理代码 我想知道什么是最好的图书馆 我需要一些重量轻 便于携带的东西 与其推出自己的 为什么不使用cpp这是的一部分gcc suite http gcc gnu org onlin
  • Cython 和类的构造函数

    我对 Cython 使用默认构造函数有疑问 我的 C 类 Node 如下 Node h class Node public Node std cerr lt lt calling no arg constructor lt lt std e
  • WPF TabControl,用C#代码更改TabItem的背景颜色

    嗨 我认为这是一个初学者的问题 我搜索了所有相关问题 但所有这些都由 xaml 回答 但是 我需要的是后台代码 我有一个 TabControl 我需要设置其项目的背景颜色 我需要在选择 取消选择和悬停时为项目设置不同的颜色 非常感谢你的帮助
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at
  • 如何在 VBA 中声明接受 XlfOper (LPXLOPER) 类型参数的函数?

    我在之前的回答里发现了问题 https stackoverflow com q 19325258 159684一种无需注册即可调用 C xll 中定义的函数的方法 我之前使用 XLW 提供的注册基础结构 并且使用 XlfOper 类型在 V
  • 将 xml 反序列化为类,list<> 出现问题

    我有以下 XML
  • 控制到达非 void 函数末尾 -wreturn-type

    这是查找四个数字中的最大值的代码 include
  • C - 直接从键盘缓冲区读取

    这是C语言中的一个问题 如何直接读取键盘缓冲区中的数据 我想直接访问数据并将其存储在变量中 变量应该是什么数据类型 我需要它用于我们研究所目前正在开发的操作系统 它被称为 ICS OS 我不太清楚具体细节 它在 x86 32 位机器上运行
  • mysql-connector-c++ - “get_driver_instance”不是“sql::mysql”的成员

    我是 C 的初学者 我认为学习的唯一方法就是接触一些代码 我正在尝试构建一个连接到 mysql 数据库的程序 我在 Linux 上使用 g 没有想法 我运行 make 这是我的错误 hello cpp 38 error get driver
  • 限制C#中的并行线程数

    我正在编写一个 C 程序来生成并通过 FTP 上传 50 万个文件 我想并行处理4个文件 因为机器有4个核心 文件生成需要更长的时间 是否可以将以下 Powershell 示例转换为 C 或者是否有更好的框架 例如 C 中的 Actor 框

随机推荐

  • 如何在 Android 中从 JPEG 创建动画 GIF(开发)

    我正在寻找一种简单的方法create本机 Android 应用程序中的动画 GIF 源文件应为 JPEG 来自相机或其他文件 输出应在设备上保存为 GIF 我不想知道如何播放动画或动画 GIF 文件 需要明确的是 我想知道如何将单个图像逐帧
  • 写入结果电子表格时,AGGREGATE 公式不会自动计算

    我有一个使用 OPENPYXL v2 5 10 库开发的 python 3 7 脚本 用于从多个 Excel 工作簿中获取数据 处理该数据 然后写入单独的 Excel 工作簿 结果工作簿包含大约 100 个命名范围和大量公式 所有这些都按预
  • 证明后继者对等式的替代性质

    我试图理解归纳类型 精益中的定理证明 第 7 章 https leanprover github io theorem proving in lean 07 Inductive Types html 我给自己设定了一个任务 证明自然数的后继
  • 如何在 Android 中将一种跨度类型更改为另一种跨度类型?

    我想将一种类型的所有跨度放入一个CharSequence并将它们转换为不同的类型 例如 将所有粗体跨度转换为下划线跨度 我该怎么做呢 这是我今天遇到的问题 既然我现在已经解决了 我在这里添加一个问答对 我的答案如下 如何将跨度从一种类型更改
  • PapaParse 与 Angular JS

    喜欢 PapaParse 漂亮的 CSV 解析器和解解析器 任何人都可以帮助我将其与 Angular JS 结合起来吗 我喜欢让 PapaParse 以 Angular 方式工作 正在尝试解决方案 实际上我没有做任何花哨的事情来加载它 只需
  • Xamarin 中 QR 扫描后的处理对话框

    我在Xamarin应用程序中使用QR码扫描仪 当它扫描QR码时 它会执行一些操作 大约需要一分钟 而在执行操作时 我想在屏幕上显示一个加载对话框 但是 它没有显示在屏幕上 并且在应用程序的其他地方 它运行得很好 Code var expec
  • 如何配置Android AccessibilityService

    我正在研究AndroidAccessibilityService想要查看所有可能发生的事件类型 手势和关键事件 我能够收到所有public void onAccessibilityEvent final AccessibilityEvent
  • Fabric.js 如何在不拉伸文本的情况下水平调整 IText 大小

    我在父 Group 对象中有这个 IText 对象 当我选择组并水平 以及垂直 调整其大小时 IText 也会调整大小 这使得文本拉伸并且看起来很糟糕 现在我想做的是将 IText 中心本身 保持其纵横比 放在组内 我怎样才能做到这一点 我
  • 关于合并排序代码中的组合步骤的困惑

    我有一个关于数组上的合并排序如何工作的问题 我理解 划分 步骤 它将输入数组划分为 1 长度的元素 然而 当谈到 合并 部分 组合步骤 时 我感到困惑 例如 给定输入 3 5 1 8 2 除法过程将产生 5 个元素 3 5 1 8 2 我只
  • 在 Swift 3 中从 UUID 获取数据

    我用 Objective C 编写了以下代码 我试图在 Swift 3 中使用它 一些等效函数似乎在 Swift 3 中不可用 下面的代码是 Objective C 中的代码 NSUUID vendorIdentifier UIDevice
  • 适用于 Angular 2+ 的具有多个日期选择的日历

    我需要显示一个日历并让用户选择多个日期 例如2017 年 1 月 2 日 2017 年 1 月 3 日 2017 年 1 月 4 日 也就是说 不是一个范围 而是多个日期 在 Angular 1 x 中 我使用了gm datepickerM
  • PHP - Paypal API 表单和安全性 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我在我的电子商务应用程序上使用标准 php paypal 表单进行付款 我注意到只有 firebug 的人可以在通过 立即付款 按钮发
  • 如何切换到新数据库

    我想将我的 django 项目部署到生产环境 并将其与一个新的空数据库关联 我做了如下操作 创建一个新的空数据库 更新了settings py并将数据库名称指向新的数据库名称 删除了我的应用程序下的migrations文件夹 运行 pyth
  • 在sql server中透视固定的多列表

    我有一个需要为报告服务进行旋转的表格 DateCreated Rands Units Average Price Success Unique Users 2013 08 26 0 0 0 0 0 2013 08 27 0 0 0 0 0
  • Microsoft Graph API 中的一个或多个属性包含无效值

    我想在 Azure Active Directory B2C 上创建用户 我按照给定链接中的每个步骤进行操作Here https learn microsoft com en us azure active directory b2c ac
  • 如何重定向到外部404页面Python Flask

    我正在尝试将 404 重定向到外部 URL 如下所示 app route 404 def http error handler error return flask redirect http www exemple com 404 404
  • 将 vbCrLf 应用于文本框的内容

    我在 Excel vba 项目中有一个用户窗体 在设计时它是空的 在表单初始化事件中 我有以下代码 Private Sub UserForm Initialize txtSQL value SELECT MyName ColY vbCrLf
  • 在 gridLayout 中从右向左放置项目

    我有一个GridLayout在我的其中一个布局中 我想从右到左放置项目 这意味着我希望将单元格 1 1 放在布局的右上角 我已经测试了这些代码GridView so far 1 android gravity right and andro
  • 如何在 php 数组中添加条件?

    这是数组 anArray array theFirstItem gt a first item if True conditionalItem gt it may appear base on the condition theLastIt
  • 未初始化成员的警告在 C++11 上消失

    我编译这个简单的程序 include