当前位置:网站首页 > 技术博客 > 正文

offsetfromutc



哎呀...

问题在于结构是非 POD,因为 T 类型是非 POD。这是来自 GCC 手册的引用...

-Wno-invalid-offsetof(仅限 C++ 和 Objective-C++)

禁止将“offsetof”宏应用于非 POD 类型的警告。

根据 1998 ISO C++ 标准,将“offsetof”应用于非 POD 类型是未定义的。然而,在现有的 C++ 实现中,“offsetof”通常会给出有意义的结果,即使应用于某些类型的非 POD 类型也是如此。(例如一个简单的 'struct' 仅由于具有构造函数而不能成为 POD 类型。)此标志适用于意识到他们正在编写不可移植代码并且故意选择忽略有关它的警告的用户。

在 C++ 标准的未来版本中,对 'offsetof' 的限制可能会放宽。

我的问题是我几乎所有的 T 类型都有构造函数,因此被归类为非 POD。我之前忽略了这一点,因为它无关紧要——当然,原则上它应该与 offsetof 无关。问题是 C++ 标准使用一个 POD 与非 POD 分类,即使有许多不同的方式可以成为非 POD,并且编译器默认警告不符合标准的使用是正确的。

我目前的解决方案将是上面的选项来抑制警告 - 现在我只需要弄清楚如何告诉 cmake 使用它。

  • 上一篇: mongodb正则匹配查询
  • 下一篇: jrebel插件下载
  • 版权声明


    相关文章:

  • mongodb正则匹配查询2025-09-03 20:30:03
  • 如何求nextval数组2025-09-03 20:30:03
  • 命令模式有哪些角色2025-09-03 20:30:03
  • c++fstream用法2025-09-03 20:30:03
  • 小程序源码是什么意思2025-09-03 20:30:03
  • jrebel插件下载2025-09-03 20:30:03
  • 循环队列详解2025-09-03 20:30:03
  • strtok函数用法2025-09-03 20:30:03
  • img标签常见操作2025-09-03 20:30:03
  • 视觉slam是什么2025-09-03 20:30:03