[C++] Problème déclaration tableau / classes
Fermé
Sammy59400
-
10 nov. 2006 à 22:05
mamiemando Messages postés 33453 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 6 janvier 2025 - 13 nov. 2006 à 16:04
mamiemando Messages postés 33453 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 6 janvier 2025 - 13 nov. 2006 à 16:04
A voir également:
- [C++] Problème déclaration tableau / classes
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Trier tableau excel - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
5 réponses
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
10 nov. 2006 à 22:56
10 nov. 2006 à 22:56
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)
(Pour ta classe mobile je parle, pas pour celle que tu as écrite)
carkiasis
Messages postés
67
Date d'inscription
jeudi 17 février 2005
Statut
Membre
Dernière intervention
26 avril 2007
28
11 nov. 2006 à 01:21
11 nov. 2006 à 01:21
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 :
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).
"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).
nicO.2x45
Messages postés
76
Date d'inscription
vendredi 11 novembre 2005
Statut
Membre
Dernière intervention
17 novembre 2007
2
13 nov. 2006 à 09:21
13 nov. 2006 à 09:21
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 !!
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 !!
mamiemando
Messages postés
33453
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
6 janvier 2025
7 812
13 nov. 2006 à 09:34
13 nov. 2006 à 09:34
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 :
https://community.hpe.com/t5/custom/page/page-id/HPPSocialUserSignonPage?redirectreason=permissiondenied&referer=https%3A%2F%2Fcommunity.hpe.com%2Ft5%2FServers-Systems-The-Right%2FSGI-com-Tech-Archive-Resources-now-retired%2Fba-p%2F6992583
Bonne chance
nicO.2x45
Messages postés
76
Date d'inscription
vendredi 11 novembre 2005
Statut
Membre
Dernière intervention
17 novembre 2007
2
13 nov. 2006 à 12:19
13 nov. 2006 à 12:19
Bonjour Mamiemando,
Tiens je savais que les listes de ce genre étaient dispo en java dans la derniere update de l'API java, mais je savais pas pour le c/c++ !!!
Interessant.....A potasser !!! :D
Tiens je savais que les listes de ce genre étaient dispo en java dans la derniere update de l'API java, mais je savais pas pour le c/c++ !!!
Interessant.....A potasser !!! :D
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mamiemando
Messages postés
33453
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
6 janvier 2025
7 812
13 nov. 2006 à 16:04
13 nov. 2006 à 16:04
Il y a plein d'autrezs classes C++ bien plus intéressantes dans la STL. Notamment les vector, les set, et les map...