Fonction void
Résolu
poparnassus
Messages postés
462
Statut
Membre
-
fiddy Messages postés 11653 Statut Contributeur -
fiddy Messages postés 11653 Statut Contributeur -
Bonjour,
Dans mon fichier main, j'appelle une fonction
Tous mes fichier .c ont en include un fichier prototype.h dans le quelle je defini mes structure etc
Je vois pas comment faire pour que ma fonction initialisation fonctionne
J'ai essayer ca
De cette maniere mon ping est executer mais le programme plante par la suite
J'ai cette erreur dans mon compilateur :
C:\Users\Nico\Desktop\Projet C\6wd_SDL2_test\reseau.c|5|warning: passing argument 1 of 'ping' from incompatible pointer type|
Dans mon fichier main, j'appelle une fonction
void initialisation_serveur( serveur *serveur)qui est dans fichier reseau.c
Tous mes fichier .c ont en include un fichier prototype.h dans le quelle je defini mes structure etc
void initialisation_serveur(serveur *serveur)
{
ping(&wt_SDL);
// Autre instruction
}
Je vois pas comment faire pour que ma fonction initialisation fonctionne
J'ai essayer ca
main.c
initialisation_serveur(&serveur, &wt_SDL);
reseau.c
void initialisation_serveur(serveur *serveur, wt_SDL *wt_SDL)
{
ping(&wt_SDL);
//creation socket
}
De cette maniere mon ping est executer mais le programme plante par la suite
J'ai cette erreur dans mon compilateur :
C:\Users\Nico\Desktop\Projet C\6wd_SDL2_test\reseau.c|5|warning: passing argument 1 of 'ping' from incompatible pointer type|
A voir également:
- Fonction void
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - Guide
1 réponse
Bonsoir,
j'appelle une fonction
void initialisation_serveur( serveur *serveur)
Pour appeler une fonction, c'est : initialisation_serveur(&serveur);
Là c'est plutôt un prototype de fonction.
Tous mes fichier .c ont en include un fichier prototype.h dans le quelle je defini mes structure etc
void initialisation_serveur(serveur *serveur)
{
ping(&wt_SDL);
// Autre instruction
}
On ne définit pas de fonction dans les .h. On déclare juste les prototypes.
Donc, ce bout est à mettre dans un .c
initialisation_serveur(&serveur, &wt_SDL);
Ce n'est pas cohérent. Là tu mets 2 arguments, alors que plus haut il y avait 1 seul argument.
j'appelle une fonction
void initialisation_serveur( serveur *serveur)
Pour appeler une fonction, c'est : initialisation_serveur(&serveur);
Là c'est plutôt un prototype de fonction.
Tous mes fichier .c ont en include un fichier prototype.h dans le quelle je defini mes structure etc
void initialisation_serveur(serveur *serveur)
{
ping(&wt_SDL);
// Autre instruction
}
On ne définit pas de fonction dans les .h. On déclare juste les prototypes.
Donc, ce bout est à mettre dans un .c
initialisation_serveur(&serveur, &wt_SDL);
Ce n'est pas cohérent. Là tu mets 2 arguments, alors que plus haut il y avait 1 seul argument.
#include "prototype.h" int main(int argc, char** argv) { initialisation_reseau(&wt_SDL); }reseau.c
#include "prototype.h" void initialisation_reseau(wt_SDL *wt_SDL) { ping(&wt_SDL); //creation socket et initialisation variable et structure } void ping(wt_SDL * wt_SDL) { char commande[50]; strcpy (commande, "ping 192.168.50.17 -n 2"); SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_WARNING,"ATTENTION","Le test de la disponibilite du raspberry va demarrer, appuyer sur OK pour commencer",NULL); int retour = system (commande); if(retour == 1) { } else { } }prototype.h
void initialisation_reseau(wt_SDL *wt_SDL);
Cela signifie que ta fonction ne renvoie rien.
Dans ton .c
int initialisation_reseau(wt_SDL *wt_SDL)
Tu indiques que la fonction renvoie un int.
Il faut que ça soit cohérent.