2 つの数値と演算子を渡すことができるマクロを定義しようとしています。マクロが 2 つの数値に対して指定された演算を実行し、結果を返すようにします。
私の定義は次のとおりです。
#define GENERAL_OP(x,y,op) ((x) op (y))
私が呼び出すと正常に動作します
int result = GENERAL_OP(1, 2, -);
しかし、次の例のように、文字を渡そうとするとすぐに (これは、マクロを呼び出す一般化された関数で実際に行う必要があることです)。
void Evaluate(char op)...
int result = GENERAL_OP(1, 2, op);