ネットでしばらく検索していましたが、残念なことに私の答えに答えが見つかりませんでした。問題解決のための解決策が見つかりませんでした。 :関数の引数としてC++マクロのトークンペースト
1)function1a(some_args)
2)function2b(some_args)
は、私は何をしたい事があるだけであること、このパラメータはすべきで、正しいパラメータでfeededたときにこれらの機能を認識することができ、マクロを書くことですC/C++関数のパラメータでもありますが、これまでに私が行ったことがあります。
#define FUNCTION_RECOGNIZER(TOKEN) function##TOKEN()
void function1a()
{
}
void function2a()
{
}
void anotherParentFunction(const char* type)
{
FUNCTION_RECOGNIZER(type);
}
明確に、マクロがある場合、私は聞いてるのよ、「functiontype」を認識し、anotherParentFunctionの引数を無視している/貼り付けのこの方法を実行するためにトリックか何かを存在します。
は、事前にあなたに感謝:)
マクロの代わりに、関数のオーバーロードを使用する必要があります。 function1aとfunction1bに同じ名前をつけてください:function1。 –
私はオーバーロードを避け、それを使わないで解決策を見つけたいと思っています。 – Gotenks00
このタスクでは、オーバーロードは自然な方法であり、使用する必要があります。マクロはそのためのものではなく、マクロは型について知らないので使用できません。 –