Portál AbcLinuxu, 9. května 2025 19:42

Dotaz: Pole struktur v c++

31.10.2008 00:31 tascoa | skóre: 11
Pole struktur v c++
Přečteno: 1745×
Odpovědět | Admin
Dobry den, potrebuji vytvorit pole struktur v C++ a nasledujici zdrojak mi pri kompilaci text pod nim.

using namespace std;

struct Prom { int Prvni; int Druhy; };

int main() { Prom pole[10]; pole[1] = {14, 15}; }

syntax error : '{' syntax error : missing ';' before '{' syntax error : missing ';' before '}'

nechapu, co delam spatne...? dekuji za odpovedi
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

31.10.2008 00:44 johniez | skóre: 17 | blog: xyz | Praha
Rozbalit Rozbalit vše Re: Pole struktur v c++
Odpovědět | | Sbalit | Link | Blokovat | Admin
jestli to neni tim, ze se takhle da inicializovat jen v deklaraci.

Napr: Prom pole = {14, 15};

Ale jen hadam.. ;)
31.10.2008 10:01 tascoa | skóre: 11
Rozbalit Rozbalit vše Re: Pole struktur v c++
pokud to chapu dobre, v metode main se da do pole struktur zapisovat pouze zpusobem pole[1].vek = 24; a podobne?

samozrejme by se to takhle dalo resit v cyklech. mne jde o to, ze bych chtel pouzit zpusob, ktery se pouziva u klasicke struktury

Prom neco = {"neco", cislo}; atd... zda se mi to mnohem rychlejsi a efektivnejsi.

popravde receno s c++ nemam moc zkusenosti.
31.10.2008 12:38 chochi | skóre: 29 | Praha
Rozbalit Rozbalit vše Re: Pole struktur v c++
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj, to co chces umi jazyk C++0x (narozdil od obicejneho C++) - jde o navrh o vylepseni C++, ktery snad casem se stane novym standardem C++.
Pukod vim tak tohle umi novjejsi GCC viz C++0x Language Support in GCC.
Konkrente tobe jde o navrh N2672 podporovany v GCC 4.4.
Pokud te netrapi, ze ti co to prekladaji budou potreba GCC 4.4, tak je asi nejjednodusi pouzivat tohle rozsireni.
31.10.2008 14:37 Jirka P
Rozbalit Rozbalit vše Re: Pole struktur v c++
MMCH, gcc (a g++) podpodují i rozšíření jazyka C (compound literals?), které umožňuje něco podobného. Pak by to vypadalo takhle

Prvek[1]=(Prvek){1, 2};
31.10.2008 13:23 Mykonou | skóre: 5
Rozbalit Rozbalit vše Re: Pole struktur v c++
Odpovědět | | Sbalit | Link | Blokovat | Admin
struct Prom
{ 
    int Prvni; 
    int Druhy; 
};

int main() 
{ 
    struct Prom prvek, pole[] = {{1,2}, {3,4}};
    
    prvek.Prvni = 5;
    
    //pole[0] = {1, 2}; // nefunguje ale asi by melo ...
    pole[0] = prvek;    // funguje
}

http://www.cs.princeton.edu/~lworthin/126/precepts/structs.html
I TY muzes byt echt linuxak!
31.10.2008 14:01 tascoa | skóre: 11
Rozbalit Rozbalit vše Re: Pole struktur v c++
nakonec jsem to vyresil takto:

struct Prom { int x; int y; }; int main() { struct Prom pole[] = {{1,2}, {3,4}}; cout << pole[1].x << ", " << pole[1].y; }

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.