Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fabien LE LEZ
On Sat, 10 Jul 2004 02:42:49 +0200, "henri" :
int size; int size();
Si je comprends le message du compilateur, on me dit que size est déclaré 2 fois..
C'est bien le cas : il n'est pas possible d'avoir une variable et une fonction avec le même nom, dans le même scope. Ça n'a rien à voir avec les templates, ni même avec le fait d'être à l'intérieur d'une classe.
Comment contourner le problème ?
Changer le nom de la variable ou de la fonction. Je conseille même d'utiliser des conventions différentes pour les variables et les fonctions. Perso je mets toujours les initiales d'une fonction en majuscules :
int size(); int Size();
D'ailleurs, histoire de ne pas être emmerdé avec les conflits de noms, j'écris souvent mes identifiants en français, pour qu'il n'y ait aucun risque de confusion avec les fonctions de la SL :
int taille; int Taille();
Note : si jamais tu veux offrir la même interface que les conteneurs de la STL, tu peux écrire :
size_t size_; size_t size();
-- schtroumpf schtroumpf Jean-Emile de France
On Sat, 10 Jul 2004 02:42:49 +0200, "henri" <spam@spam.spam>:
int size;
int size();
Si je comprends le message du compilateur, on me dit que size est déclaré 2
fois..
C'est bien le cas : il n'est pas possible d'avoir une variable et une
fonction avec le même nom, dans le même scope.
Ça n'a rien à voir avec les templates, ni même avec le fait d'être à
l'intérieur d'une classe.
Comment contourner le problème ?
Changer le nom de la variable ou de la fonction.
Je conseille même d'utiliser des conventions différentes pour les
variables et les fonctions. Perso je mets toujours les initiales d'une
fonction en majuscules :
int size();
int Size();
D'ailleurs, histoire de ne pas être emmerdé avec les conflits de noms,
j'écris souvent mes identifiants en français, pour qu'il n'y ait aucun
risque de confusion avec les fonctions de la SL :
int taille;
int Taille();
Note : si jamais tu veux offrir la même interface que les conteneurs
de la STL, tu peux écrire :
Si je comprends le message du compilateur, on me dit que size est déclaré 2 fois..
C'est bien le cas : il n'est pas possible d'avoir une variable et une fonction avec le même nom, dans le même scope. Ça n'a rien à voir avec les templates, ni même avec le fait d'être à l'intérieur d'une classe.
Comment contourner le problème ?
Changer le nom de la variable ou de la fonction. Je conseille même d'utiliser des conventions différentes pour les variables et les fonctions. Perso je mets toujours les initiales d'une fonction en majuscules :
int size(); int Size();
D'ailleurs, histoire de ne pas être emmerdé avec les conflits de noms, j'écris souvent mes identifiants en français, pour qu'il n'y ait aucun risque de confusion avec les fonctions de la SL :
int taille; int Taille();
Note : si jamais tu veux offrir la même interface que les conteneurs de la STL, tu peux écrire :
size_t size_; size_t size();
-- schtroumpf schtroumpf Jean-Emile de France
drkm
"henri" writes:
Si je comprends le message du compilateur, on me dit que size est déclaré 2 fois.. Comment contourner le problème ?
Changer de nom ?
--drkm
"henri" <spam@spam.spam> writes:
Si je comprends le message du compilateur, on me dit que size est déclaré 2
fois.. Comment contourner le problème ?