Accès propriété "static" d'une classe et linker error [C++] - C++ - Programmation
Marsh Posté le 02-01-2004 à 00:49:37
verdoux a écrit : initialise ta variable:
|
A quel moment ? dans le constructeur de Toto ?
Marsh Posté le 02-01-2004 à 00:51:19
Au début du code par exemple, en dehors de corps de fonction.
Tu peux aussi le mettre dans la déclaration de classe:
Code :
|
Marsh Posté le 02-01-2004 à 00:52:03
Et tes fonctions elles sont où ?? On comprends rien à ton code
Marsh Posté le 02-01-2004 à 00:52:54
*syl* a écrit : Et tes fonctions elles sont où ?? On comprends rien à ton code |
On s'en fout, elles n'existent pas, c'etait juste pour l'exemple... ce n'est pas là que le problème se pose
Marsh Posté le 02-01-2004 à 00:55:45
J'te parlais de ton code Tata Testbi[...]delete Testbidon2;
Ton compteur est en protected donc si t'essaies d'y accéder en dehors d'une des 2 classes tu vas avoir du mal..
Marsh Posté le 02-01-2004 à 00:55:56
verdoux a écrit : Au début du code par exemple, en dehors de corps de fonction.
|
Je veux bien mais ca ne change strictement rien, le compilo plante de la même façon
Marsh Posté le 02-01-2004 à 00:57:48
billyboy78 a écrit : |
Euh oui, parce que c'est faux
Marsh Posté le 02-01-2004 à 00:57:59
*syl* a écrit : J'te parlais de ton code Tata Testbi[...]delete Testbidon2; |
Oui ok je sais mais c'est pas le but, il n'y a que les 2 objets Testbidon1 et Testbidon2 qui y accèdent, je n'y accède pas depuis autre part, et c'est justement ce qu'il me faut
Marsh Posté le 02-01-2004 à 01:00:54
billyboy78 a écrit : |
De toutes me semble bien que ça sert à rien : une variable statique est automatiquement définie à 0.
Confirmation needed mais j'crois pas me tromper
Marsh Posté le 02-01-2004 à 01:01:54
billyboy78 a écrit : |
Bah déplace la déclaration dans public ou crée un accesseur.
Marsh Posté le 02-01-2004 à 01:03:38
Bon c'est vrai que le code était pas très clair, voilà une version un peu plus clair pour savoir ou ca plante exactement...
C'est dans l'une des méthodes membres de Tata , donc elle peut accéder à compteur
Code :
|
Marsh Posté le 02-01-2004 à 01:05:10
billyboy78 a écrit : Bon c'est vrai que le code était pas très clair, voilà une version un peu plus clair pour savoir ou ca plante exactement...
|
T'as plus qu'à te relire
Marsh Posté le 02-01-2004 à 01:08:17
Code :
|
Marsh Posté le 02-01-2004 à 01:10:00
*syl* a écrit : |
Arghh déguelasse, je viens de corriger, c'est le 1er janvier ca peut arriver
Marsh Posté le 02-01-2004 à 01:14:11
verdoux a écrit :
|
Ok, comme ca, cela fonctionne merci, mais je suis obligé de faire ca pour chaque donnée membre qui est static alors ? c'est un peu chiant...
Marsh Posté le 02-01-2004 à 09:37:29
*syl* a écrit : De toutes me semble bien que ça sert à rien : une variable statique est automatiquement définie à 0. |
Code :
|
==> 0
Marsh Posté le 02-01-2004 à 00:42:55
Alors voilà mon premier problème de l'année :
J'ai une classe de "base" Toto et j'instancie plusieurs objets Tata qui sont dérivés de Toto.
Mais Toto contient une propriété membre compteur qui est static et donc partagée entre toute les instances...
Le problème c'est que mon compilo (j'utilise borland c++ builder 5) me sort un "Unresolved external Toto::coucou referenced from base.obj" dès que je tente d'accéder à "compteur" (Testbidon1->compteur=5 et je comprends absolument pas pourquoi.
Message édité par Profil supprimé le 02-01-2004 à 00:43:24