Hi.
Petite question con certainement mais.... je trouve pas :-/
Je sais utiliser les Arrays et compagnie mais.... c'est la première fois que je suis confronté à un cas et je bloque.
Dans un .h (ou .hpp comme vous voulez ) j'ai en déclaration
unsigned int pvals[128];
Dans mon constructeur, je dois initialiser les valeurs avec des u_int par défaut.
En C standard j'aurais fait un uint16 pvals[128] = {1,2,3,4........,127,128};
Mais dans mon constructeur je dois faire comment pour initialiser comme ça ? Le compilo refuse la ligne si j'assigne comme en C ....
Cette initialisation «pvals[128] = {1,2,3,4........,127,128};» ne peut être utilisée que dans la définition de pvals.
Pourquoi ne pas l'initialiser dans sa définition et non dans le constructeur?
Ce sont des valeurs lues en sur une cartographie d'un autre circuit et que je met en "dur" dans le code, du moins pour le démarrage.... pour ça que je ne peux pas les initialiser à la construction de l'objet.
Idem pour la boucle for; elles ne se suivent pas forcémment.
Mais si on peut l'initialiser dans la définition ça me va ^^ (c'est pas "sale" au moins comme méthode ? )
Qu'est ce que tu entends par sale?
Tu dis toi même que c'est comme ça que tu initialises les variables en C.
Sauf erreur de ma part je pense qu'il n'était pas possible d'initialiser les variables membres dans les anciennes spécifs du C++, mais c'est devenu possible depuis C++11.
Disons qu'initialiser une variable dans un header, j'ai jamais vraiment pratiqué.
J''ai toujours créé la variable ou l'objet et dans le constructeur j'utilise un var xxxx = new machin(int truk);
Mais ca passe nickel comme ça ^^ donc problème résolu, le compilateur ne gueule pas comme un méchant en langage bizarre ^^