Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3815 connectés 

 


Dernière réponse
Sujet : [C/C ++] déclarations variables sous Visual C++
Pschitt En effet pour mon problème de déclaration il manquait une acolade.
Concernant : if(tmp->obj==objRech) tu as raison ça ne fonctionne pas. En fait cette fonction est brute de dégoffrage elle n'est à ce stade que l'ossature de ma futur fonction recherche. La recherche devra être faite selon un critère, membre de OBJ.
 
Sur turboC, pensant que le pb venait de ma déclaration j'avais simplement tester mes déclarations du .h      
 
Merci encore de ton aide
 
@+

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Pschitt En effet pour mon problème de déclaration il manquait une acolade.
Concernant : if(tmp->obj==objRech) tu as raison ça ne fonctionne pas. En fait cette fonction est brute de dégoffrage elle n'est à ce stade que l'ossature de ma futur fonction recherche. La recherche devra être faite selon un critère, membre de OBJ.
 
Sur turboC, pensant que le pb venait de ma déclaration j'avais simplement tester mes déclarations du .h      
 
Merci encore de ton aide
 
@+
wpk deja, sans compter l'erreur du compilo, y'a des gros problemes dans ton code  
ca par exemple : if(tmp->obj==objRech)  
ca peut pas marcher au vu de la declaration que t'as fait dans ta structure cell.
En plus, soit t'as pas mis tout le code soit sinon, je comprends pas comment ca pouvait marcher avec turboC vu qu'il manque pas mal d'acolades (y'a des else sans if etc)
 
Pour ton probleme d'erreur compilo, essaye de renomer ton fichier .c en .cpp (le code sera compile par un compilo c++ et pas c). Si t'as d'autres erreurs avant les illegal, regle les avant, si t'as oublie un ; ou une } plus haut dans le code ca peut pas marcher.
Pschitt Plaques l'affaire wpk  
 
Il me manquait simplement une }
 
Merci de ton aide
 
Bye
Pschitt Voila en détails :
 
fichier : objet-liste_recursive.h  
 
typedef struct {
int noDossard;
char numTel[10];
float vitesse;
char nom[25];
} OBJ;
 
typedef struct cel{
OBJ obj;
struct cel * lien_prec;  
struct cel * lien_svt;
} cell;
 
typedef struct {
cell * tete;
cell * queue;
} LISTE;
 
fichier : fonctions-liste_recursive.c
 
Le compilo m'indique l'erreur :
error C2275: 'cell' : illegal use of this type as an expression
pour la déclaration cell * tmp de la fonction qui suit :
 
#include "c:\Listes\objet-liste_recursive.h"
 
/*- RECHERCHER_OBJET --------------------------*/
OBJ * RechercherObj(LISTE * l, OBJ * objRech)
{if(ListeVide(l))
 
 return (OBJ *)NULL;
 
cell * tmp;
 
tmp=l->queue;  
if(tmp->obj==objRech)
 
 return tmp;
 
tmp=l->tete;
else if(tmp->obj==objRech)
 
 return tmp;
 
else {  
   
 while(tmp->lien_prec!=objRech && tmp->lien_prec)  
 
  tmp=tmp->lien_prec;  
 
 if(tmp->obj==objRech)
   
  return tmp;
 
 else
 
  return (OBJ *)-1;  
 }
 
Il m'indique également la même erreur quand je veux déclarer un pointeur sur OBJ : OBJ * obj1
wpk c'est qoui comme genre d'erreur?
Pschitt J'ai supposé que l'erreur venait de la déclaration mais c'est vrai je n'en suis pas sure.
En fait ces déclarations sont rangées dans un fichier .h pour tous mes objets et ce fichier est inclu dans un fichier .c (fonctions).
Les erreurs ce manifestent quand je compile le .c, le compilo me met des erreurs à chaque ligne sur laquelle j'utilise mes variables du .h
 
N'y comprend rien ?
wpk ca marche tres bien la def, l'erreur doit venir d'ailleurs.
Pschitt Le compilo ne comprend pas la déclaration de cell :
 
typedef struct {
int noDossard;
char numTel[10];
float vitesse;
char nom[25];
} OBJ;
 
typedef struct cel{
OBJ obj;
struct cel * lien_prec;  
struct cel * lien_svt;
} cell;
 
Est ce normal ?
Sous TurboC ça passe nickel !

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)