Rechercher : dans
Par :

Problème compilation + pointeur de fonction

Dernière réponse le 12 sep 2003 à 14:16:41 Nicolas, le 11 sep 2003 à 14:55:33 
 Signaler ce message aux modérateurs

Bonjour, j'ai un petit problème en essayant d'affecter un pointeur de fonction à une fonction.

-je commence avec ma déclaration du pointeur

int (*tipc_ext_socket)(struct socket*,int,struct proto_ops*);


- ensuite, je déclare ma fonction bidon
int tipc_stream_socket(struct socket* sock, int protocol, struct proto_ops* ops)
{
	return 0;
}


- enfin, je fais l'affectation
tipc_ext_socket = &tipc_stream_socket;


Lors de la compilation, GCC me donne ces erreurs:

src/socket_adaptation.c:226: warning: type defaults to `int' in declaration of `tipc_ext_socket'
src/socket_adaptation.c:226: conflicting types for `tipc_ext_socket'
src/socket_adaptation.c:215: previous declaration of `tipc_ext_socket'
src/socket_adaptation.c:226: warning: data definition has no type or storage class
src/socket_adaptation.c: In function `tipc_socket':
src/socket_adaptation.c:237: called object is not a function
src/socket_adaptation.c: In function `tipc_sk_sendmsg':
src/socket_adaptation.c:510: warning: initialization from incompatible pointer type
make[1]: *** [obj.linuxm/socket_adaptation.o] Error 1


Quelqu'un peut m'orienter sur une piste de solution svp.

Merci beaucoup.
Nic

Meilleures réponses pour « Problème compilation + pointeur de fonction » dans :
La compilation et les modules en C et en C++ VoirCet article a pour vocation d'introduire les notions de bases de la compilation en C et en C++ et de la programmation modulaire. Il permet de mieux comprendre les messages d'erreur du compilateur. Les notions abordées ici sont indépendantes du...
[Google] Fonction définition Voir* Google vous permet de trouver rapidement la défintion d'un mot, pour cela, tapez ceci : (Attention: il faut mettre un espace avant et apres les deux points ( : ), sinon cela ne fonction pas.) definition : mot-clé Pour n'obtenir que les...
Les modes de fonctionnement du Wifi (802.11 ou Wi-Fi) VoirIl existe différents types d'équipement pour la mise en place d'un réseau sans fil Wifi : Les adaptateurs sans fils ou cartes d'accès (en anglais wireless adapters ou network interface controller, noté NIC) : il s'agit d'une carte réseau à la...
Les pointeurs en langage C VoirDéfinition d'un pointeur Un pointeur est une variable contenant l'adresse d'une autre variable d'un type donné. La notion de pointeur fait souvent peur car il s'agit d'une technique de programmation très puissante, permettant de définir des...

1

francoispgp, le 11 sep 2003 à 16:52:15

Demande plustot de l'aide sur le forum programmation parceque la peu parmis nous pourront t'aider.

Répondre à francoispgp

2

 batmat, le 12 sep 2003 à 14:16:41

Tu n'as pas bien compris le principe d'un pointeur de fonction : ici tu cherches à affecter un type, c'est comme si tu avais écrit :

int x;
int=x;


écrire int (*f) (void) par exemple signifie déclarer le type de fonctions renvoyant int et prenant void en paramètre ...

compris ?

@++


Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ?

Répondre à batmat
Collection CommentÇaMarche.net