cost 260 ms
C++:匿名结构的结构前向声明导致“声明冲突” - C++: struct forward declaration of anonymous struct causes "conflicting declaration"

我有这个 hpp 文件: 以及对应的cpp文件: 现在,像这样编译:g++ A.cpp 我得到这个错误: 显然使命名它的结构有效,不幸的是我无法控制库中 struct rte_spinlock_t 的 typedef。 我该如何解决这个问题? 我希望能够转发一个未命名的结构而不会陷入声明冲突。 ...

使用指定的初始化器聚合匿名结构的初始化 - Aggregate initialization of anonymous struct with designated initializers

我正在移植旧版 C++ 代码以使用 GCC 9.2。 使用 C++20 和 GNU 扩展是有效的选项。 遗留代码大量使用嵌套在联合中的匿名结构和具有指定初始化的聚合初始化,例如: 此示例使用clang -std=gnu++2a -Wall -Wextra进行编译,但无法使用g++ -std=gnu+ ...

你能声明一个命名结构的匿名实例吗? - Can you declare an anonymous instance of a named struct?

我试图通过创建一个通用结构在 C 中手动实现多态行为,然后创建派生结构(如果你愿意的话),它可以通过枚举的值来区分,这样我就可以有一个指向通用类型的指针,将其取消引用为通用类型,找出它是什么类型,然后将其取消引用为更具体的类型。 我知道我可以在派生结构中声明通用结构的命名实例,但这看起来有点混乱, ...

如何修复 MSVC 中与“for”循环内匿名结构声明相关的编译错误? - How to fix compilation errors in MSVC related to declaration of anonymous struct inside a 'for' loop?

我们可以在for循环中声明匿名struct如下(g++) : 但是,此代码导致MSVC中的编译错误为: source_file.cpp(7): 错误 C2332: 'struct': 缺少标签名称 source_file.cpp(7): error C2062: type 'bool' ...

是否在匿名结构中导出字段有什么区别? - Does whether or not a field is exported inside an anonymous struct make any difference?

在 golang 中导出(或不导出)匿名结构中的字段有什么区别吗? 换句话说,以下两个代码块有什么不同吗? 考虑到它是一个匿名结构,您不能在变量本身之外使用该结构,因此我认为大写 F 在编译时没有区别(没有编译速度或运行时内存差异)。 第 1 块: 第 2 块: ...

当在匿名结构中包装灵活数组时,MSVC结构布局会更改吗? - MSVC struct layout changes when wrapping flexible array in anonymous struct?

我正在使用godbolt查看以下结构的布局信息: 我希望两个结构Foo1和Foo2的布局都相同。 据我了解,匿名嵌套结构的任何字段都只是“折叠”到父结构中。 所以布局Foo2应转出相同的Foo1 。 但是,由MSVC 19.16生成并在使用标志/d1reportSingleCl ...

使用C ++在联合中将结构作为嵌套的匿名结构导入 - Import structs as nested, anonymous structs in union using C++

请考虑以下“不可更改”声明: 如果消息包含传感器数据,则数据始终存储在aucData数组中,始终以传感器数据头开始。 我想创建一个联合或结构,使我可以直接访问此类消息的所有成员,而不必使用其他变量名。 希望您通过查看我以前的尝试来了解我想要做什么。 我这样尝试过: 和这个: ...

取消引用强制结构指针的强制转换会违反严格的别名吗? - Does dereferencing a cast to an anonymous structure pointer violate strict aliasing?

我听说过C标准在多大程度上保证了结构布局的一致性。 有限范围内的参数提到了严格的别名规则。 例如,比较以下两个答案: https : //stackoverflow.com/a/3766251/1306666和https://stackoverflow.com/a/3766967/13066 ...

这个类型结构定义的指针是什么意思(在C中)? - What does this pointer of type structure definition mean (in C)?

在K&R第6章中,声明如下: 我无法理解这个指针p指向哪个结构,如果这样的指针定义甚至是有效的,因为在书中给出的所有其他示例和我看到的其他示例中,在定义指向结构的指针时,名称需要提及结构,即定义的类型。 例如, 接着, 所以,提到ptr指向一个类型结构示例而不仅仅是st ...

c11中的嵌套匿名结构 - Nested Anonymous Structs in c11

我正在用c11编写CHIP-8解释器,很有趣,我认为使用匿名结构解码操作码会很酷。 理想情况下,如果我有操作码opcode_t code = {.bits = 0xABCD} ,我的类型应该是 它应具有以下属性: 我想到的结构是: 但是,当我运行以下代码来测试我的结构 ...

匿名结构中的Brace-or-equal-initializers在VS2013上不起作用 - Brace-or-equal-initializers in anonymous struct does not work on VS2013

结构中的匿名结构中的Brace-or-equal-initializers不会对VS2013生成的输出执行任何操作。 有代码: 在Linux上使用此命令编译: (添加优化标志不会影响结果) 预期结果: 奇怪的。 使用VS2013运行它会产生垃圾值。 在实施C ...

C:如何访问不同类型的匿名或未命名的嵌套结构 - C: How to access different types of anonymous or unnamed nested structs

我注意到有几种方法可以在C中的其他结构中定义结构: 这个结构使用gcc或g ++编译很好,所以我假设所有参数都可以通过某种方式访问​​。 我试过这样的: 除了访问mystruct.c ,所有内容都编译(编译错误消息'struct s' has no member named ' ...

ANSI C的匿名结构 - Anonymous struct with ANSI C

我想知道是否可以在ANSI C中声明匿名结构。我拥有的代码是: 当我编译它时,我得到: 警告:声明未声明任何内容 我已经读过标志-fms-extensions可以解决问题,但是它只能在Windows系统上运行,因为它会产生: 警告:匿名结构是Microsoft扩展[-Wmicros ...

C11 - 将指针结构转换为struct的匿名第一个成员 - C11 - convert pointer-to-struct to struct's anonymous first member

C标准规定: 指向结构对象的指针(适当地强制转换)指向其初始成员(或者如果该成员是位字段,则指向它所在的单元),反之亦然。 如果所讨论的结构的第一个成员是匿名结构/联合,是否有任何可能的(和明确定义的)方法在C11中执行这样的“合适的强制转换”? 或者,如果包含结构是匿名的, ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM