1265Fermer1267
azeLe 14/05/2010 à 14:58
je ne comprends pas pourquoi g++ gueule si tu ne l'initialise pas explicitement.
si une variable membre n'est pas initialisée dans la liste du constructeur, c'est son constructeur par défaut qui est appelé.
ap<int, Receive*>())d'ailleurs la ligne Message::Message() : m_EntriesList(std::m n'a pas vraiment de sens : tu initialises par copie ton membre à partir d'une variable anonyme crée avec le constructeur par défaut.
e*>())virer m_EntriesList(std::map<int, Receiv devrait revenir au même, donc laisser le compilo appeler tout seul le constructeur par défaut
tu n'as pas besoin d'initialiser explicitement tous tes objets dans la liste de ton constructeur, seulement ceux dont le constructeur a besoin de paramètres ou les types de base
Folco (./1264) :
Jyaif (./1263) :
Quoi qu'il en soit, je pense que: m_EntriesList = new std::map();

Je vois pas la différence fondamentale en fait, c'est le même constructeur qui va être appelé, pourquoi le spécifier ?

à ma connaissance, les deux sont équivalents. une écriture ressemble à la construction d'objets simples : float a; string str; etc... et l'autre à la construction d'objets dont le constructeur prend des arguments.