У меня возникает следующая проблема. Давайте предположим, что мой код выглядит, чтоПрепроцессорные макросы
#define Function1 FunctionOne
#define Function2 FunctionTwo
#define CALL_FUNCTION (FunctionName) \
SOMEOBJ someObject....
someObject->FunctionName();
Теперь проблема заключается в том, что я хочу, чтобы проверить, что имя функции и в зависимости от того, что я хочу использовать разные SOMEOBJ
. Таким образом, для вызова
CALL_FUNCTION(Function1)
следующий код будет называться
SOMEOBJ someObj...
someObj->FunctionOne();
но для
CALL_FUNCTION(Function2)
....
SOMEOBJ2 someObj...
someObj->FunctionOne();
Мне кажется, что макросы не правильный инструмент для этой работы. –
Проблема [X-Y] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem), если я когда-либо видел ее. Что вы действительно хотите сделать, чего вы пытаетесь достичь этими макросами? – Angew
Держу пари, это невозможно! – 9dan