C++ 联合大括号初始化程序:“错误:预期的成员名称或 ';'声明说明符之后”

2024-05-28

我是 C++ 新手,阅读了 C++ 11 中提供的大括号初始值设定项。我尝试创建一个简单的联合,如下所示

union UExample {

  UExample(const uint12_t value = 0) : raw{value} {}

  uint12_t raw;

};

当我尝试编译文件时出现此错误

./stack.h:18:57: error: expected member name or ';' after declaration specifiers
  UBankedAddress(const uint12_t value = 0) : raw{value} {}
                                                        ^
./stack.h:18:49: error: expected '('
  UBankedAddress(const uint12_t value = 0) : raw{value} {}
                                                ^
./stack.h:18:55: error: expected ';' after expression
  UBankedAddress(const uint12_t value = 0) : raw{value} {}

有人有解决这个问题的想法吗?

$ g++ --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
Apple clang version 12.0.0 (clang-1200.0.32.29)
Target: x86_64-apple-darwin20.3.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

我找到了解决这个问题的方法。它涉及到g++MacOS 上的编译器。clang++应该使用。

之前(不工作):

g++ stack.cpp -o stack

之后(工作):

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

C++ 联合大括号初始化程序:“错误:预期的成员名称或 ';'声明说明符之后” 的相关文章

随机推荐

  • 如何正确配置`ConfigureServices`方法的`services.AddDbContext`

    我正在尝试使用 EF Core 运行 NET Core Web 应用程序 为了测试存储库 我添加了一个MyDbContext继承 EFDbContext和接口IMyDbContext public interface IMyDbContex
  • div 准备好后如何调用函数?

    我的 javascript 文件中有以下内容 var divId divIDer jQuery divId ready function createGrid Adds a grid to the html html 看起来像这样 div
  • FFmpeg av_read_frame 无法正确读取帧?

    好吧 我已经下载了一些 yuv 格式的原始 UHD 序列 并在 mp4 容器中使用 ffmpeg 对其进行编码 h264 4 4 4 100 质量 25fps 当我使用 ffprobe 找出编码了多少帧时 我得到 600 所以这是 24 秒
  • 如何获取Python对象父级?

    所以 我试图获取自定义对象 内部 的对象 这是一个例子 假设 o 是一个对象 无论是什么类型 它都可以存储变量 o Object class Test def init self self parent o This is where I
  • Chainlink - 工作没有完成

    我一直在学习 Chainlink API 并尝试构建一个简单的合约 该合约将对 API 进行外部调用 并根据 Oracle 请求的结果向用户收费 例如 如果 API 导致以下结果 我们将向您收取 1 美元费用 true如果结果是 0 25
  • 如何在cassandra中保存spark流数据

    构建 sbt以下是build sbt文件中包含的内容 val sparkVersion 1 6 3 scalaVersion 2 10 5 resolvers Spark Packages Repo at https dl bintray
  • 定时器时间不作为变量改变?

    这是我的代码 private int V Time 1 try final Timer V Timer final Handler V Handler V Timer new Timer V Handler new Handler Loop
  • HTML 元素:属性排序

    分析几个页面并注意到不同的方法 写作风格 我想知道 HTML 元素属性的顺序是否有效 浏览器性能 渲染 明显或不明显 客户端 服务器计算资源 任何事物 他们是我应该考虑的订购标准吗 我只能认为它会影响 JQuery 对第 n 个属性的选择
  • ELMAH 错误和经典 Asp

    我们已经在我们拥有的 ASP NET MVC 网站上使用 ELMAH 进行错误日志记录 但我们的主网站仍然是经典的 asp 我已经开始为该网站创建错误处理 日志记录结构 但我认为它如果我们能够在所有应用程序中保持错误日志记录的一致性 那就太
  • 执行不区分大小写的“in”检查并检索原始元素的最简单方法?

    假设 a 有一个字符串列表和一个特定字符串 particular string latitude list Id PRICE LATitude longitude 我想要实现的是执行不区分大小写的检查特定字符串是否在列表中 所以现在我可以这
  • gdata 未知授权标头 - 于 2013 年 12 月 11 日开始

    谷歌日历同步已经工作了很长一段时间 现在突然从昨天开始我们开始收到以下错误 我看到这种情况过去发生过 谷歌工程师 SRE 必须应用补丁来解决这个问题 com google gdata util AuthenticationException
  • Jenkins 未显示 Maven 编译器错误

    在 Jenkins 中构建多模块 maven 3 项目时 如果出现构建错误 我们会收到一条神秘消息 表明 Maven 编译器插件失败 这在上周才刚刚开始发生 INFO BUILD FAILURE INFO INFO Total time 1
  • 如何杀死 Java Future?

    我正在开发的服务使用 Future 来并行运行多个任务 每个任务最多可能需要一分钟才能完成 然而 外部库似乎有问题 因为在某些情况下 2 的时间 它不会返回 在这些情况下 我想给出 2 分钟的等待时间 如果还没有返回 我想杀死 future
  • 如何将 DataGridViewLinkColumn 属性添加到 DataGridView 中动态生成的列?

    发展于 c winforms没有任何数据库连接 描述 在我的 DataGridView 中 列是动态生成的 在某些时候 某些列需要 DataGridViewLinkColumn 属性 我尝试了很多方法 但没有实现这一点 我希望这里有人能帮助
  • Java:一种将 Mime(内容)类型与 CommonsMultipartFile 中的文件扩展名相匹配的方法

    在我的公司 出于额外原因 我需要将 mime 类型与文件扩展名进行比较 我有一个CommonsMultipartFile 我正在尝试找出进行这种比较的最佳方法 我见过一个MimetypesFileTypeMap 但不确定这是否适用于此 我试
  • 实体框架 5 - 抽象类型“X”没有映射的后代,因此无法映射

    尝试操作时出现以下错误这个对象 https github com gbirchmeier quickfixn blob master QuickFIXn Message FIX44 TradeCaptureReportRequestAck
  • 如何访问 Angularjs 模板中的常量

    如何将公共js文件中定义的常量访问到不同模块的模板中 如果我在 MainModule js 中定义了一个这样的常量 该常量包含在主 html 文件的开头 gt var myApp angular module AC gt myApp con
  • movsbl指令的作用是什么? [复制]

    这个问题在这里已经有答案了 我在网上搜索过 但找不到明确的示例来理解该指令的作用 因此 如果有人可以举一个例子 这对我来说将会非常有帮助 用符号从字节扩展到长字移动 在Intel语法中 该指令的助记符是MOVSX 当变量类型为 C 时 C
  • 为什么 glClear 不清除我的屏幕?

    这是我编写的一个简单的 opengl 程序 我试图在绘制三角形之前清除屏幕 我在 init 函数中调用了 glClear 但是 它似乎无法清除屏幕 include
  • C++ 联合大括号初始化程序:“错误:预期的成员名称或 ';'声明说明符之后”

    我是 C 新手 阅读了 C 11 中提供的大括号初始值设定项 我尝试创建一个简单的联合 如下所示 union UExample UExample const uint12 t value 0 raw value uint12 t raw 当