Struct ins Array
-
hi,
hab ein Problem, da ich nicht weis wie ich ein Array mit struct Elementen gleich beim deklarieren auch initialisieren kann.
struct MyStruct { int x; int y; }; int main() { MyStruct array[] = {(1,2),(3,4)}; }
Das hier funktioniert nicht, da nur der letzte Wert ausgenommen wird (2 und 4), und ich hoffe nicht, dass ich die Elemente einzeln reinpacken muss...(array[0].x = 1; array[0].y = 2;.....)
Gruss,
Piioo
-
MyStruct array[] = { {1,2}, {3,4} };
-
thx, dass hab ich noch nicht versucht...
Eine weitere Frage zu den Thema.
Ich hab eine Priority Queue, in der die Elemente eine struct sind. Nun würde ich gern direckt in die Queue die z.B. drei Werte einfügen, die in dem struct definiert sind und nicht vorher ein struct Element deklarieren müssen, dass initialisiert wird, welches erst dann in die Queue gepackt wird....struct MyStruct { int a; int b; int c; }; int main() { std::priority_queue<MyStruct> pq; MyStruct pix = {1,2,3}; pq.push(pix); }
So muss ich es zur Zeit machen. Kann man die Elemente direkt in die Queue einfügen? mit pq.push({1,2,3}); geht es leider nicht...
-
In C99 ginge sowas:
pq.push((MyStruct){1, 2, 3});
Aber in C++ gibt man dem Struct einen Konstruktor:
struct MyStruct { MyStruct(int a,int b,int c)... }; pq.push(MyStruct(1,2,3));