class (newbie) [résolu] [c++] - C++ - Programmation
Marsh Posté le 02-07-2002 à 09:35:40
Toi tu bosse avec Visual non?
Oublie les membre constant c mal géré.
Marsh Posté le 02-07-2002 à 09:40:41
Si non la bonne sintaxe serait (en plus y a une erreur conceptuelle):
Dans le Header:
Code :
|
Dans le cpp:
Code :
|
Marsh Posté le 02-07-2002 à 09:41:17
oui je travail en visual ...
Snif il n y a vraiment pas moyen ???
Marsh Posté le 02-07-2002 à 09:43:38
Ca défini un membre de classe. C'est à dire commun à toutes les instances de la classe.
Marsh Posté le 02-07-2002 à 09:47:24
Essaye ce que je t'ai envoyé, c la syntaxe normale, mais je pense pas que ça marche sous visual.
Marsh Posté le 02-07-2002 à 11:00:59
Ca fonctionne sauf mon tableau car c est en fait un tableau a 2 dimension et non pas un pointeur vers un tableau que je veux de + c est un tab a 2 dimension comment dois je faire ??
mon code actuel:
Code :
|
Est ce que juste faire
char *tab; puis
tab = new [nbcar][nblg]; suffit?
Est ce que ca fait la meme chose que ce que je veux faire?
Marsh Posté le 02-07-2002 à 11:10:11
Là faut que tu test, j'ai jamais essayé. Par contre je crois que y a une syntaxe à la con pour déclarer la variable.
Mon conseil: tu fais un tableau comme je te l'ai mis dans le code et pour accéder à un élémenttu fais:
Code :
|
Marsh Posté le 02-07-2002 à 11:43:31
mouais bon c est une solution (si ca fct qd mem) mais c est loin d etre joli ...
Marsh Posté le 02-07-2002 à 11:45:25
tu peux toujour tanter différentes permutations de:
Code :
|
il me semble que c une syntaxe dans ce genre, mais bon...
Marsh Posté le 02-07-2002 à 11:46:32
ok je vais essayer de chipotter un peu avec ca...
Merci !
Marsh Posté le 02-07-2002 à 12:56:49
letoII a écrit a écrit : Là faut que tu test, j'ai jamais essayé. Par contre je crois que y a une syntaxe à la con pour déclarer la variable. Mon conseil: tu fais un tableau comme je te l'ai mis dans le code et pour accéder à un élémenttu fais:
|
Rien de tel pour rendre du code totalement illisible et indébuggable
la méthode correcte est de reserver un tableau de pointeur et de reverser une chaine pour chaque pointeur :
Code :
|
Marsh Posté le 02-07-2002 à 14:10:55
Smaragdus a écrit a écrit : Rien de tel pour rendre du code totalement illisible et indébuggable la méthode correcte est de reserver un tableau de pointeur et de reverser une chaine pour chaque pointeur :
|
S'il veut mêtre des chaines dedans ok, si non, bof.
Marsh Posté le 02-07-2002 à 20:44:49
bjone a écrit a écrit : ça manque de constructeur de recopie tout ce bordel |
Faut bien qu'il bosse un peu, je vais pas tout lui faire non plus!
Marsh Posté le 02-07-2002 à 22:00:40
Une solution: utilise des enum pour definir les tailles. Je sais c'est pas top, mais bon c'est de la faute a MS qui n'aime pas les standards...
Marsh Posté le 03-07-2002 à 04:09:06
Ça viendra, mais on ne peut pas initialiser les constantes statiques de classe dans la déclaration de classe.
Alors utilises le truc de l'enum:
Code :
|
Pour initialiser tab, ben c'est le constructeur qui s'y colle.
Marsh Posté le 03-07-2002 à 07:24:52
musaran a écrit a écrit : Ça viendra, mais on ne peut pas initialiser les constantes statiques de classe dans la déclaration de classe. Alors utilises le truc de l'enum:
|
Ben non justement, à part avec visual ou c mal fichu, tu fait ça dans le cpp.
Marsh Posté le 04-07-2002 à 00:16:09
letoII a écrit a écrit : Ben non justement, à part avec visual ou c mal fichu, tu fait ça dans le cpp. |
tu peux préciser ?
Si l'initialisation des constantes statiques peut se faire sur place, c'est que la norme à évolué ou que c'est pas standard ?
Je ne l'ai pas dit, mais la définition de tab2 doît être dans le source cpp.
Quand à tab, ce que je sais de la norme me dit qu'en tant que membre de donnée non statique, c'est dans le constructeur qu'on peut le remplir.
Marsh Posté le 04-07-2002 à 08:11:13
Regarde un peu plus haut ce que j'ai posté
Marsh Posté le 02-07-2002 à 09:34:00
Pourquoi cela ne fonctionne t il pas?
code:
voici ma liste d erreur:
error C2258: illegal pure syntax, must be '= 0' //il parle de nblg
error C2252: 'nblg' : pure specifier can only be specified for functions //il parle de nblg
error C2258: illegal pure syntax, must be '= 0' //il parle de nbcar
error C2252: 'nbcar' : pure specifier can only be specified for functions //il parle de nbcar
error C2258: illegal pure syntax, must be '= 0' //il parle de ch
error C2252: 'ch' : pure specifier can only be specified for functions //il parle de ch
error C2065: 'nbcar' : undeclared identifier
...
Ne peux t on pas déclarer de variable dans la partie private de ma class ou ca vien d autre part???
Si je met mon const int nblg =10, nbcar = 255; juste apres mon typedef il ne me fait pas les 4 premieres erreurs mais bon il me fait qd meme celles avec ch et mon tab !
Comment puis je faire ???
D avance merci
Message édité par the big ben le 04-07-2002 à 10:36:11