begin process at 2012 05 29 13:03:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Autre

 > 

"must point to class/struct/union"


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

"must point to class/struct/union"

mardi 19 mai 2009 à 16:37:43 | "must point to class/struct/union"

ouedge

Bonjour à tous,
Je suis en train de travailler sur un programme en C++ et j'obtiens régulièrement ce message "...must point to class/struct/union" quand je compile. En fait le problème vient du fait que dans ma fonction main(), j'utilise régulièrement des variables définis dans d'autres classes en utilisant les pointeurs (exemple: DataC->time ) et cela marche très bien. Or j'ai dû créer une fonction dans main() qui fait appel aux mêmes variables mais cette fois ci j'obtiens des problèmes lors de la compilation. Je trouve étonnant que main() réussi à utiliser ces variables d'autres classes alors qu'une fonction écrite dans main() n'arrive pas à la faire !
Merci pour toute aide
Amicalement
mardi 19 mai 2009 à 17:16:04 | Re : "must point to class/struct/union"

CptPingu

Administrateur CodeS-SourceS
Peux-tu copier-coller les morceaux de code qui semblent poser problème ?
mardi 19 mai 2009 à 17:33:15 | Re : "must point to class/struct/union"

ouedge

C'est juste que le programme est assez long. Est-ce que ma question est si incompréhensible ?
mardi 19 mai 2009 à 17:35:49 | Re : "must point to class/struct/union"

CptPingu

Administrateur CodeS-SourceS
Non, elle est tout à fait compréhensible. Mais sans "voir" ce qui cloche, c'est super dur de te répondre précisément.
Peux-tu au moins reproduire ce problème en épurant/simplifiant un maximum un morceau de ton code ?
mercredi 20 mai 2009 à 11:59:35 | Re : "must point to class/struct/union"

ouedge

ok j'ai qqch de ce genre (en très simplifié j'espère pas trop....) :

...
#include "AllData.h"
...

int main() {   
...
AllData * DataC = new AllData(spacing_c, cnn,m);
...
DataC->update_temperature_dependece_Data(Tstart,0);
...
C0 = DataC->C_alpha_star;
...
fi=    fzenner(vitesse_test, T, mu0, cnn)
...
 return 0;
    }

double fzenner (double vitesse2, double T, double mu0, double cnn)
       
    {       
        DataC->update_temperature_dependece_Data(T,0); 
        ...
        alpha_eq = DataC->C_alpha_star ;
        gamma_eq = DataC->C_gamma_star ;
...
        return F;
     }
   
    J'ai typiquement ce genre de problème lors de la compil situé dans la fonction fzenner seulement :
error C2065: 'DataC' : undeclared identifier
error C2227: left of '->update_temperature_dependece_Data' must point to class/struct/union
   
mercredi 20 mai 2009 à 12:04:37 | Re : "must point to class/struct/union"

CptPingu

Administrateur CodeS-SourceS
> error C2065: 'DataC' : undeclared identifier
Heu c'est normal !

Si tu déclares une variable locale, elle n'est visible que dans la fonction ou elle est déclarée. Donc dans fzenner, celle-ci n'existe pas. Il faut la passer en argument de la fonction, pour pouvoir s'en servir.
Renseigne toi sur ce qu'on appelle "la portée des variables" et les "scopes".
mercredi 20 mai 2009 à 12:12:56 | Re : "must point to class/struct/union"

ouedge

Salut merci pour la réponse. En fait DataC n'est pas une variable mais un pointeur qui (selon moi) pointe sur une fonction écrite dans la classe AllData et pas dans main(). En fait j'ai déjà utilisé cette ligne dans main () : C0 = DataC->C_alpha_star et j'obtiens bien la valeur numérique de "C_alpha_star" calculé dans la fonction update_temperature_dependece_Data(Tstart,0) de la classe AllData.
mercredi 20 mai 2009 à 12:19:35 | Re : "must point to class/struct/union"

CptPingu

Administrateur CodeS-SourceS
A noter qu'un pointeur est une variable contenant un entier (une adresse).

De plus fzenner n'est pas une méthode, mais une fonction, donc tu ne peux pas accéder aux attributs de la classe AllData.

DataC est donc bien indéfini !
mercredi 20 mai 2009 à 12:23:18 | Re : "must point to class/struct/union"

ouedge

ahh ok et il y a pas un moyen de pouvoir accéder aux attributs de la classe Alldata dans la fonction fzenner sans passer par les mettre en argument lors de l'appel de la fonction dans main() ?
mercredi 20 mai 2009 à 12:27:11 | Re : "must point to class/struct/union"

CptPingu

Administrateur CodeS-SourceS
Non, a moins que fzenner ne fasse partit de AllData.

void AllData::fzenner(...

et dans ton main:

fi=  DataC->fzenner(vitesse_test, T, mu0, cnn)

1 2

Cette discussion est classée dans : class, to, main, struct, must


Répondre à ce message

Sujets en rapport avec ce message

Problème compilation avec Dev C++ [ par AMokers ] Bonjours,Voila quand je compile mon programme, j'obtient ca :Compilateur: Default compilerExécution de g++.exe...g++.exe "C:\Dev-Cpp\Projets\Tetrinet C++ questionaire [ par fcoutel ] Bonjour,On m'a donne un questionnaire a remplir est ce que quelq'un connait les reponses ? <SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: Verda Creer indefiniement ??? [ par Tidam ] Bonjour a tous, Je me demandais si il n'y avais pas une methode permettant de creer indefiniement des class ou struct comportant par exemple le parame Liste Chainees, niveau debutant [ par Anysse ] Salut, alors voila, je code sous DevC++ 4.9.9.0C'est mon premier programme utilisant les Listes chainees, et je n 'arrive pas a comprendre pourquoi il c::b et socket [ par sheorogath ] bonjour voulant faire un peu de c++ pour changer je me telecharge un ide : code::blocksvoulant m'initier au socket un peu je reussi a me procurer un c Installer WinIo [ par ScripteurPermanent ] Bonjour,Voilà, je cherche à piloter mon port Imprimante en C, pour cela j'ai trouvé la librairie WinIo ( <a title="http://www.internals.com" hr Une struct utilisée dans plusieurs class [ par larcan57 ] Bonjour à tous :)Petite question sur les structures...J'ai donc mon fichier.h avec:struct TestStruct { ..... };Class test{   void fonction1( ....);}-- compile à plusieurs fichiers [ par ntrvdonett ] Bonsoir,Au risque de faire rire, j'ai un problème de compilation en mettant une class dans un fichier à part, je rame depuis deux heure pour rien, et Taille variables dans une class/struct [ par LA_Tupac ] Salut à tous. Je me penche sur la taille des données car je fais des écritures binaires d'objets à taille variable dans des fichiers. En faisant des t probléme programmation Visual C++ [ par controlleur ] Bonjour j'ai rencontré un problème qui me rend fou [^^peur] ..en fait lorsque j'inclue dans mon Main #include "Arm_Dynamique.cpp" , il me donn


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,920 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales