директива elsif в c ++ с 3 вариантами

Я хотел бы иметь возможность переключать свой канал между изображением, видео и веб-камерой.
Я попробую это:

#define F_WEBCAM
#define F_VIDEO
#define F_IMAGE

#define FEED(F_WEBCAM)

Где-нибудь еще:

#if defined(FEED) && FEED == F_WEBCAM
ofVideoGrabber vidGrabber;
#elif defined(FEED) && FEED == F_VIDEO
ofVideoPlayer vidPlayer;
#elif defined(FEED) && FEED == F_IMAGE
// code for image
#endif

Но я получаю следующую ошибку:

Ожидаемое значение в выражении

Это возможно так, как я хочу?

0

Решение

Для сравнения вам нужно определить ваши макроконстанты со значениями. Это решит вашу проблему:

#define F_WEBCAM 1
#define F_VIDEO 2
#define F_IMAGE 3

#define FEED F_WEBCAM
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]