Membres inscrits :2359
Membres en ligne : 0
Invités en ligne : 5


|
Conversation : Défibition et mise en oeuvre de tableaux |
Alfred83 (Membre)
Lieu: Toulon 83
Inscrit le : 28-12-2007
Messages: 50
Snippets: 0
Tutoriels: 0
Hors ligne |
J'ai besoin de créer des tableaux d'objets, de chaines, de doubles et de pointeurs sur double. Je n'arrive pas à les définir et à les initialiser correctement. Merci pour votre aide.
Code Cpp: nsUtile.h --------- # include <wx/arrstr.h> // arraystring # include <wx/dynarray.h> // tableu dynamique # include <wx/arrimpl.cpp> // tableau d'objet namespace nsUtile { class Graduation; WX_DECLARE_OBJARRAY( Graduation, TableGraduations ); class Graduation { public: unsigned UPosition; unsigned UValeur; Graduation(); ~Graduation(); }; class Echelle; WX_DECLARE_ARRAY_DOUBLE( double, TableEchelles ); //TableEchelles has not been declared class Echelle { public: double DMetrique; Echelle(); ~Echelle(); }; class Point; WX_DECLARE_OBJARRAY( Point *, TablePointeursDoubles ); class Point { public: double * &DValX; double * &DValY; Point(); ~Point(); }; ... } ------------------------ nsUtile.ccp ----------- # include "nsUtile.h" using namespace nsUtile; // Tableau d'objet // --------------- WX_DEFINE_OBJARRAY( TableGraduations ); TableGraduations TabMetrique; unsigned UPos1 = 20, UVal1 = 5, UPos2 = 30, UVal2 = 8, UPos3 = 40, UVal3 = 5; TabMetrique Element1, Element2; // err: 'TabMetrique' does not name a type Element1.Position = UPos1; // err: expected constructor, destructor, or type conversion Element1.Valeur = UVal1: // idem TabMetrique.Add ( Element1 ); Element2.Position = UPos2; // " Element2.Valeur = UVal2: // " TabMetrique.Add ( Element2 ); // Tableau de chaîne // ----------------- wxArrayString STable(); wxString SS = "abc"; STable.Add ( SS, 1 ); // " int CC = STable.Count(); // err: request for member "count" in STable STable.Insert ( _T( "CouCou" ), CC ); // " // Tableau de doubles // ------------------ WX_DEFINE_ARRAY_DOUBLE( double, TableEchelles ); TableEchelles TXY; TXY a, b; // TXY does not name a type double a = 1., b= 2.; TXY.Add ( a, 1 ); // err: expected constructor, destructor, or type conversion TXY.Append ( b ); // err: expected constructor, destructor, or type conversion // Tableau de pointeurs sur double WX_DEFINE_ARRAY_PTR( Point *, TablePointeursDoubles ); TablePointeursDoubles PTabXY; // TablePointeurDoubles does not name a type TabXY PointA; // " TableXY does not name a type double DValx = 3., DValy = 5.; PointA.DValX = * DValx; // " err: expected constructor, destructor, or type conversion PointA.DValy = * DValy // " TabXY.Add(PointA); // " ....
|
Informaticien bénévole du "Groupement des Intellectuels Aveugles ou Amblyopes" à Toulon, qui publie les trois quarts des livres en braille en France.
|
Gandi (Gourou de la secte)
Lieu: Clermont-Ferrand
Inscrit le : 10-10-2007
Messages: 222
Snippets: 5
Tutoriels: 0
Site web
Hors ligne |
Bien le bonjour Alfred,
TableGraduations TabMetrique; déclare un objet TabMetrique et non un alias.
pour définir un alias de type tu as les instructions typedef et using https:/en.cppreference.com/w/cpp/language/type_alias https:/en.cppreference.com/w/cpp/language/typedef
ce qui donne ça: typdef TableGraduations TabMetrique;
ou
using TabMetrique = TableGraduations;
|
"Les ordinateurs ne remplaceront jamais les livres. Vous ne pouvez pas vous mettre sur une pile de disquettes pour atteindre le haut de votre armoire" ( Sam Ewing )
|
Alfred83 (Membre)
Lieu: Toulon 83
Inscrit le : 28-12-2007
Messages: 50
Snippets: 0
Tutoriels: 0
Hors ligne |
Bonjour et merci Gandi. Cela va déjà beaucoup mieux avec des typdefs, par contre je n'ai rien vu à ce sujet dans la doc sur les tableaux!
|
Informaticien bénévole du "Groupement des Intellectuels Aveugles ou Amblyopes" à Toulon, qui publie les trois quarts des livres en braille en France.
|
Gandi (Gourou de la secte)
Lieu: Clermont-Ferrand
Inscrit le : 10-10-2007
Messages: 222
Snippets: 5
Tutoriels: 0
Site web
Hors ligne |
C'est normal, rien ne t'oblige à faire ces alias.
Tu peux directement déclarés tes tableaux ainsi. TableEchelles a, b;
|
"Les ordinateurs ne remplaceront jamais les livres. Vous ne pouvez pas vous mettre sur une pile de disquettes pour atteindre le haut de votre armoire" ( Sam Ewing )
|
|