Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

conflicting types for 'buid_hash_tab'

6 réponses
Avatar
unbewusst
gcc me donne cette erreur :
systemprofile.c:71: error: conflicting types for 'buid_hash_tab'
systemprofile.h:20: error: previous declaration of 'buid_hash_tab' was
here

alors que :
dans "systemprofile.c:71" :
int buid_hash_tab( char **keys,
char **values,
int *tab_len,
int *k_len,
int *v_len,
unsigned int *lines_nbr,
unsigned int *empty_lines_nbr,
struct n_list *sph,
Node *rpathes,
Node *epathes )

et dans "systemprofile.h:20" :
int buid_hash_tab( char **,
char **,
int *,
int *,
int *,
unsigned int *,
unsigned int *,
struct n_list *,
Node * ,
Node *);


donc dans l'en-t=EAte la d=E9claration des param=E8tres est "anonyme" c'est
ce qui ne va pas ???

6 réponses

Avatar
Pierre Maurette
gcc me donne cette erreur :
systemprofile.c:71: error: conflicting types for 'buid_hash_tab'
systemprofile.h:20: error: previous declaration of 'buid_hash_tab' was
here

alors que :
dans "systemprofile.c:71" :
int buid_hash_tab( char **keys,
char **values,
int *tab_len,
int *k_len,
int *v_len,
unsigned int *lines_nbr,
unsigned int *empty_lines_nbr,
struct n_list *sph,
Node *rpathes,
Node *epathes )

et dans "systemprofile.h:20" :
int buid_hash_tab( char **,
char **,
int *,
int *,
int *,
unsigned int *,
unsigned int *,
struct n_list *,
Node * ,
Node *);


donc dans l'en-tête la déclaration des paramètres est "anonyme" c'est
ce qui ne va pas ???


Vous avez peut-être un problème d'ordre d'include. Peut-être que quand
vous aurez résolu le warning de votre autre message - parce qu'il faut
le résoudre - ces erreurs disparaîtront.

Avez-vous bien:
#include "hash_tab.h"
dans systemprofile.h ?

Je ne suis pas très à l'aise avec ces histoire d'include. Mais je m'en
tiens à deux règles:
- mettre toujours des guards.
- inclure tout ce qui est nécessaire et uniquement ce qui est
nécessaire à chaque fichier.

Je ne suis pas sûr d'avoir raison, mais ici, je mettrais le #include
"hash_tab.h" à la fois dans systemprofile.h et systemprofile.c, je ne
compterais pas sur un #include "systemprofile.h" dans systemprofile.c

--
Pierre Maurette

Avatar
Thierry B.
--{ Pierre Maurette a plopé ceci: }--

- mettre toujours des guards.


Ben justement, une question.

Quelle est la méthode canonique pour ces "gards" ?

(à part le chapeau à poils)


--
Laquelle sortie sinusoïdale est full-compliant avec les
barrel-shifters codés en 12ax7. C'est évident.
Qui a dit que le vocabulaire informatique était horrible ?


Avatar
Stephane Legras-Decussy
"Thierry B." a écrit dans le message de news:

Ben justement, une question.

Quelle est la méthode canonique pour ces "gards" ?


#ifndef H_TOTO
#define H_TOTO

blabla...

#endif

Avatar
Thierry B.
--{ Stephane Legras-Decussy a plopé ceci: }--

Ben justement, une question.

Quelle est la méthode canonique pour ces "gards" ?


#ifndef H_TOTO
#define H_TOTO

Oké. avec TOTO pour toto.h ?



--
AIX, c'est comme PL/I. Un nouveau patch à chaque nouveau besoin.
J'espère au moins qu'ils ont fini par virer superzap ;-)
--{ JKB renie le siècle dernier }--


Avatar
unbewusst
On 26 août, 19:51, "Thierry B." wrote:
--{ Stephane Legras-Decussy a plopé ceci: }--

Ben justement, une question.

Quelle est la méthode canonique pour ces "gards" ?


#ifndef H_TOTO
#define H_TOTO


Oké. avec TOTO pour toto.h ?

--
AIX, c'est comme PL/I. Un nouveau patch à chaque nouveau besoin.
J'espère au moins qu'ils ont fini par virer superzap ;-)
--{ JKB renie le siècle dernier }--




ok merci pour cette clarification...



Avatar
Thierry B.
--{ unbewusst a plopé ceci: }--

#ifndef H_TOTO
#define H_TOTO


Oké. avec TOTO pour toto.h ?

ok merci pour cette clarification...


Euh, c'est qui exactement que tu remercie, là ?


--
tu fais comme moi : Tu postes ce que tu veux et tu
ignores les râleurs... Raleurs qui assez souvent ne
s'expriment que pour râler... Ils aiment cela !
--{ Ludovic, in fr.comp.materiel.optimisation }--