Je travaillais des exemples de pointeurs de fonctions et j'ai développé 4 fonctions simples et les ai assignées à un tableau de pointeurs de fonction, puis j'ai couru le code et travaillé pour les 4 fonctions, mais j'ai pensé imprimer les noms des fonctions.Comment imprimer des noms en cascade de pointeurs de fonctions?
J'ai appris environ __func__
et il imprime seulement le nom de la fonction courante, ainsi est-il de toute façon assigner __func__
au pointeur de fonction ou à une autre méthode pour imprimer les noms des fonctions?
C'est l'exemple que je travaille en ce moment:
#include <stdio.h>
#include <stdlib.h>
#include <inttypes.h>
int add(int x, int y);
int sub(int x, int y);
int mul(int x, int y);
int divide(int x, int y);
int main() {
int m = 6;
int n = 10;
int res,i;
int (*fun[4])(int,int)={add,sub,mul,divide};
for (i=0;i<4;i++)
{
printf("result of %s operation\n",__func__=fun[i]);
}
}
int add(int x, int y) {
int result = x + y;
return result;
}
int sub(int x, int y) {
int result = x - y;
return result;
}
int mul(int x, int y) {
int result = x * y;
return result;
}
int divide(int x, int y) {
int result = x/y;
return result;
}
Comme vous pouvez le voir, je suis en train d'affecter le __func__
aux fonctions pointeur mais bien sûr, cela ne fonctionne pas.
« je l'ai appris func », que voulez-vous dire par là? Que voulez-vous dire par "func"?Au lieu de décrire le code, essayez de créer un [Exemple minimal, complet et vérifiable] (http://stackoverflow.com/help/mcve) et * show * us à la place. –
Le code compilé ne contient pas les noms des fonctions et des symols par défaut. Vous pouvez utiliser certaines macros pour créer des chaînes constantes contenant les noms de fonctions inclus dans le fichier binaire compilé. –
S'il vous plaît fournir votre code ma boule de cristal ne fonctionne pas aujourd'hui. –