Предположим, что кто-то сделал отдельные функции следующим образом отдельно для каждого человека:функция динамического вызова функции
void John_age(void);
void Tom_age(void);
void Kate_age(void);
void Cathy_age(void);
................... .
для определения возраста.
Теперь я хочу, чтобы сделать такую функцию для вызова этих функций, используя только имена данного лица, как:
void age(char* NAME){...}
вызвать определенную функцию для этого человека «NAME».
void NAME_age(void);
Есть ли какой-либо простой способ сделать это на C++ или C? Я бы очень признателен вам за вашу помощь. Благодарю.
IDE, который я использую для микроконтроллеров, делает исполняемые функции в формате void X_functionName(void);
для каждого отдельного контакта X
. поэтому я искал более общий подход, чтобы называть их легко, используя такие функции, как void customName(const char* X)
.
Указатели функций – aaronman
Карта имен в возрасте вместо функций. И почему вы хотите взять неконстантный 'char *', если вы его не модифицируете? Это настоящая боль, когда это происходит. – chris
Вы можете использовать ту же структуру с именем поля и указателем функции. получить информацию из этого [вопроса и его ответов] (http://stackoverflow.com/questions/12971995/is-pointers-to-function-as-struct-member-useful-in-c) –