Я хотел бы вызвать функцию в зависимости от контекста, это идея полиморфизма, которую я просто не могу понять.
Является ли следующий пример вероятным решением? где вы создаете структуру и указываете на соответствующую функцию в зависимости от контекста:
Я знаю, что должен выделить память для Stuct, что я не делаю в этом псевдокоде
struct ContextMethods{
void (*memberMethod)();
} ContextMethods;
void debugFunction(){ returns debug info};
void productionFunction( does usefull production stuff);
void run(ContextMethods local_context);
main(){
struct ContextMethods local_struct;
if(DEBUG){
local_struct->memberMethod = &debugFunction;
}
if(PRODUCTION){
local_struct->memberMethod = &productionFunction;
}
run(local_context);
}
run(local_context){
local_context->memberMethod();
}