У меня есть этот код:
class A {
public:
bool has_foo() { return true; }
};
int main() {
A a;
CALL(a, foo);
}
Я бы хотел вызвать метод has_foo
через расширение макроса:
#define CALL(object, method) do { object.has_ ## method ## (); } while(0)
Код выше компилируется в MSVC, но не работаетс GCC.
Я хотел бы использовать расширение макроса, чтобы избежать накладных расходов во время выполнения.