» »

[C++] vektor, napačna velikost

[C++] vektor, napačna velikost

techfreak :) ::

Pozdravljeni,

imam manjšo težavo z vektorji.

Primer:
struct ena {
int stevilka;
};

struct dve {
ena x;
};

vector<dve>vectorDve;


Težava je v tem, da mi:
cout << vectorDve[0].x.size();

vrne 0.

vectorDve[0].x.empty();

mi pove, da ni prazen.

vector<ena>::iterator it;
for(it = vectorDve[0].x.begin(); it != vectorDve[0].x.end(); it++) {
	ena trenutno = *(it);
	cout << trenutno.stevilka << endl;
}

pa mi normalno izpiše vsebino vseh elementov.

Nikakor ne morem ugotoviti zakaj mi size() vrne 0, čeprav so elementi v vektorju dve[0].x.
Upam, da mi bo kdo lahko pomagal. Hvala.

zhigatsey ::

for (it = vectorDve.begin(); it != vectorDve.end(); it++) {
    ......
}

techfreak :) ::

vectorDve.size(); //<-- to je v redu

for(int i = 0; i < vectorDve.size(); i++) {
cout << vectorDve[i].x.size(); //<-- to ne deluje, izpiše 0, čeprav so notri elementi
}

Keki ::

Sploh mi ni jasno kak je možno da ti prevajalnik ne javi napake ko kličeš metodo size nad strukturo ena...
http://www.alfakan.si/
http://mihajerot.si/

techfreak :) ::

Ups, moja napaka, napačno prepisal. Problem pa še vseeno imam s size() nad vektorjem.

V bistvu je:
struct ena {
int stevilka;
};

struct dve {
vector<ena> x;
};

vector<dve>vectorDve;

Zgodovina sprememb…

tico ::

Namesto operatorja [] raje uporabi funkcijo at().
Tako nebos mogel dostopati do elementov izven obsega vektorja.
Koda
vectorDve[0].x.size()
povzroci seg fault.

win64 ::

Pokaži kako v kodi uporabljaš metodo empty()

Zgodovina sprememb…

  • spremenil: win64 ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C++] Pretvorba iz int v char *

Oddelek: Programiranje
232968 (2344) Gundolf
»

[C++][Naloga]Točka, Daljica, Razdalja

Oddelek: Programiranje
91929 (1569) snow
»

[C++] prevajalnik hoce konstruktor za strukturo

Oddelek: Programiranje
182641 (2345) Tr0n
»

[NALOGA][C] fri-vsp - strukture (struct)

Oddelek: Programiranje
101559 (1400) Vesoljc
»

strcpy reče segmatation fault

Oddelek: Programiranje
101503 (1454) MasterMind

Več podobnih tem