Я пытаюсь определить заголовочный файл C ++, который обращается к элементу массива, определенному в макросе.
Массив определен как:
#define NOZZLE_TO_PROBE_OFFSET { 27, 35, -1.5 }
Я пытаюсь получить доступ вот так, чтобы получить первый элемент:
#define Z_STEPPER_ALIGN_XY { { NOZZLE_TO_PROBE_OFFSET[0] , Y_BED_SIZE/2 }, { X_BED_SIZE, Y_BED_SIZE/2 } }
Но я получаю следующую ошибку:
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 } }
~ ^
У меня проблемы с запоминанием правил раскрытия макросов, и я тоже не могу Кажется, чтобы вызвать правильные условия Google, чтобы помочь в этом. Сообщение имеет смысл, но я не уверен, что попробовать в качестве альтернативы для представления доступа к массиву. Я полагаю, что препроцессор должен встраивать литерал массива, за которым следует доступ, чтобы выходные данные расширились до чего-то вроде { 27, 35, -1.5 }[0]
Я благодарен за отклик на этот заведомо n00 вопрос!