Использование пользовательской функции - страница 2

 
#define SET_ARRAY_VALUE(arr, func, index) arr[index] = func##index

typedef void (*test_ptr)();



void test0(){
   Print(__FUNCSIG__);
}

void test1(){
   Print(__FUNCSIG__);
}

void test2(){
   Print(__FUNCSIG__);
}



void test_arr_init(test_ptr &arr_test_ptr[]){
   ArrayResize(arr_test_ptr, 3);
    
   SET_ARRAY_VALUE(arr_test_ptr, test, 0); 
   SET_ARRAY_VALUE(arr_test_ptr, test, 1);
   SET_ARRAY_VALUE(arr_test_ptr, test, 2);   
   //print("\n".join(["SET_ARRAY_VALUE(arr_test_ptr, test, {0});".format(x) for x in range(100)])) #for python
}




void OnStart()
{
   test_ptr arr_test_ptr[];
   test_arr_init(arr_test_ptr);
   
   
   for (int i = 0; i < ArraySize(arr_test_ptr); i++){
      arr_test_ptr[i]();   
   }
}
Как-то так...
 
Sergey Dzyublik:
Как-то так...

Спасибо!

 
Если функции разных сигнатур (типы, количество переменных), то можно через ООП сделать соответствующий массив.
 
Igor Makanu:

если не затруднит, то можно пример  - интересно  части самообучения, заранее благодарен!

В коде этого индикатора есть подобие.

Причина обращения: