2010-04-18 4 views
0

J'écris une application dans Visual Studio C++ et j'ai des problèmes avec l'affectation de valeurs aux éléments du tableau, qui est un tableau d'éléments de type structure. Le compilateur signale une erreur de syntaxe pour la partie affectant le code. Est-il possible d'assigner des éléments de tableau de type structure?Problème avec le tableau d'éléments d'un type de structure

typedef struct { 
    CString x; 
    double y; 
} Point; 


Point p[3]; 
p[0] = {"first", 10.0}; 
p[1] = {"second", 20.0}; 
p[2] = {"third", 30.0}; 

Répondre

5

Donnez votre struct un constructeur:

struct Point { 
    CString x; 
    double y; 
    Point(const CString & s = "" , double ay = 0.0) : x(s), y(ay) {} 
}; 

Vous pouvez alors dire:

Point p[3]; 
p[0] = Point("first", 10.0); 
1

Vous ne pouvez pas définir vos données de cette façon. écrire à la place:

p[0].x = "first": p[0].y = 10.0; 
... 
4

Vous pouvez utiliser un initialiseur lorsque le tableau est déclaré:

struct Point{ 
    CString x; 
    double y; 
}; 

Point p[3] = { 
    {CString("first"), 10.0}, 
    {CString("second"), 20.0}, 
    {CString("third"), 30.0} 
}; 

Mais pas en mission.

+0

Mon mauvais. J'ai fait une erreur en le testant. – Yacoby

Questions connexes