|
|
|
|
class liste
{ int taille, sommet;
mobile tab;
public:
liste(int=20);
~liste();
// autres methodes de la classe liste ....
};
liste::liste(int t)
{ tab = new mobile[t];
taille = t;
sommet = -1;
}
J'ai pas fait de C++, mais en Java si tu fais pas de constructeur ca va pas aller, alors j'imagine qu'en C++ c'est pareil ^^
(Pour ta classe mobile je parle, pas pour celle que tu as écrite) ~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic et ya pas de bôg môsieu ! ~ |
Salut,
"no matching function for call to mobile::mobile()" veut logiquement dire que ton constructeur par défaut de ta classe mobile n'est pas défini... Il te faut un truc du genre : mobile::mobile() { //ce que tu veut par defaut pour tes attributs }
Sinon, qu'est ce que veut tu faire avec ca : "tab = new mobile[t]; " ? Tu veux que tab sois un tableau de mobile de taille 7?? Alors a ce moment la faut plutot ecrire plus haut dans les declarations : mobile tab[]. (ou un truc du genre). |
Bonjour,
COncernant le constructeur de liste il ne devrait pas y avoir de probleme, tu fais une surcharge. Ton probleme vient du fait que la classe liste ne connait pas la classe mobile, d'où un echec de l'appel au constructeur. Rajoute le .h de ta classe mobile dans ton .cpp de liste, du style : #include <mobile.h> Ensuite, si tu n'as pas mis de code dans ton constructeur de mobile, il faudra ne pas oublier de définir au minimum la definition de la classe, et le code minimum pour qu'il sache quoi faire !! nicO.2x45 alias Le_Foudroyeur :) |
class liste
{ int taille, sommet;
mobile tab; // classe mobile pas définie
public:
liste(int=20);
~liste();
// autres methodes de la classe liste ....
};
liste::liste(int t)
{ tab = new mobile[t]; // ça, ça ne va pas non plus
taille = t;
sommet = -1;
}
Bon je te conseile de repartir sur un truc beaucoup plus simple et beaucoup plus simple. Pour manipuler une liste : #include <list>
struct mobile{
int plop;
explicit mobile(int plop0=0):plop(plop0){}
};
typedef struct mobile mobile_t;
int main(){
std::list<mobile_t> ma_liste;
ma_liste.push_back(mobile_t(1));
ma_liste.push_back(mobile_t(2));
...
return 0;
}
Pour plus d'info sur les std::list : http://www.sgi.com/tech/stl/List.html Bonne chance
|
Il y a plein d'autrezs classes C++ bien plus intéressantes dans la STL. Notamment les vector, les set, et les map... |
Résultats pour [C++] Problème déclaration tableau / classes
Résultats pour [C++] Problème déclaration tableau / classes
Résultats pour [C++] Problème déclaration tableau / classes
Résultats pour [C++] Problème déclaration tableau / classes
Résultats pour [C++] Problème déclaration tableau / classes
Résultats pour [C++] Problème déclaration tableau / classes