関数名がでなく、同じ関数(別のパラメータを持つ)をと呼ぶ方法を探しています。このようなもの:名前を知らずに同じ機能を呼び出す?
void my_func(int x)
{
//...
SELF(x-5);
//...
}
私はいくつかの複雑なマクロがあるので、上記を使用する必要があります。私がこれを必要とする理由の例:
#define start_func if(id == 0) return SELF();
int A(int id) { start_func /*...*/ }
int B(int id) { start_func /*...*/ }
int C(int id) { start_func /*...*/ }
int D(int id) { start_func /*...*/ }
int E(int id) { start_func /*...*/ }
int F(int id) { start_func /*...*/ }
int A() { /*...*/ }
int B() { /*...*/ }
int C() { /*...*/ }
int D() { /*...*/ }
int E() { /*...*/ }
int F() { /*...*/ }
私の質問がダウン投票された理由は分かりません。 – MATH000
どういう意味ですか?あなたはそれ自身で関数を呼び出すことができるかどうかを尋ねています(これは再帰関数と呼ばれます)。あるいは、別の関数を複数回呼び出すことができるかどうか尋ねていますか?編集:ちょうどあなたのコメントを見た、私はdownvoteしなかったが、おそらく誰かがそれが不明であると思ったと思うだろう –
この質問はばかげている。私はそれについて何も説明しておらず、あなたのコードの問題についても説明していません。 –