这个省略号在 c++ 中是什么:#define MBGL_DEFINE_ENUM(T,值...)?

What's this ellipsis in c++ : #define MBGL_DEFINE_ENUM(T, values...)?

本文关键字:ENUM DEFINE MBGL 省略号 c++ #define 是什么      更新时间:2023-10-16

尝试使用MSVC 2017构建mapboxgl-native时,我在其枚举中使用以下构造遇到了错误。hpp

#define MBGL_DEFINE_ENUM(T, values...)

此宏像这样使用

我找不到此C 语法的文档。

哪个版本的C 定义了此省略号构造?如何称呼?

这不是标准的C 。标准方式不会命名省略号。这是GCC扩展。

标准C 中的variadic宏看起来有些类似:

#define foo(arg, ...) arg __VA_ARGS__

__VA_ARGS__代表省略号的所有参数。