小编Ed *_*wey的帖子

如何访问宏中定义的数组元素

我正在尝试定义一个 C++ 头文件,该文件访问宏中定义的数组元素。

数组定义为:

#define NOZZLE_TO_PROBE_OFFSET { 27, 35, -1.5 }
Run Code Online (Sandbox Code Playgroud)

我试图像这样访问它,以获得第一个元素:

#define Z_STEPPER_ALIGN_XY { {  NOZZLE_TO_PROBE_OFFSET[0] , Y_BED_SIZE/2 }, { X_BED_SIZE,  Y_BED_SIZE/2 } }
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

Marlin/src/gcode/calibrate/../../inc/../../Configuration_adv.h:659:57: error: expected '}' before '[' token
   #define Z_STEPPER_ALIGN_XY { {  NOZZLE_TO_PROBE_OFFSET[0] , Y_BED_SIZE/2 }, { X_BED_SIZE,  Y_BED_SIZE/2 } }
                                ~                        ^
Run Code Online (Sandbox Code Playgroud)

我无法记住我的宏扩展规则,而且似乎也无法找到正确的谷歌术语来帮助解决这个问题。该消息是有道理的,但我不确定该尝试什么作为表示数组访问的替代方法。我想我想让预处理器做的是嵌入数组文字,然后是访问,这样输出就会扩展到{ 27, 35, -1.5 }[0]我很欣赏这个公认的 n00by 问题的反馈!

c++ macros preprocessor

0
推荐指数
1
解决办法
277
查看次数

标签 统计

c++ ×1

macros ×1

preprocessor ×1