Я ищу способ вызова той же функции (с различными параметрами) без знания имени функции. Что-то вроде этого:Вызов той же функции, не зная названия?
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
Что это значит? Вы спрашиваете, можете ли вы вызвать функцию сама по себе (это называется рекурсивной функцией, и вы можете), или вы спрашиваете, можно ли вызывать другую функцию несколько раз (если это так, используйте цикл for)? Редактировать: только что увидел ваш комментарий, я не спустил вниз, но я бы предположил, что кто-то подумал, что это неясно, вероятно, –
Этот вопрос нелепо. Я ничего не объяснил об этом и о проблеме с вашим кодом. –