Iterator problem..

Tags:    c++

<< < 12 > >>
Hey, er lige igang med et eller andet underligt program, men er støt på en fejl.. Kan ikke se hvad fejlen skulle være. Men den ligger i productsFunction..

Kode:

main.cpp
Fold kodeboks ind/udKode 


products.h
Fold kodeboks ind/udKode 


productsFunction.cpp
Fold kodeboks ind/udKode 


Log:
Fold kodeboks ind/udKode 


Tak på forhånd



Indlæg senest redigeret d. 10.09.2009 16:10 af Bruger #14212
Har ikke super meget styr på c++ fejl, men sådan her plejer jeg at bruge iteratorer. Det kan være det virker bedre.

Fold kodeboks ind/udKode 


Den kode her er i øvrigt også hurtigere end den du postede :D



Indlæg senest redigeret d. 10.09.2009 17:16 af Bruger #3275
Får stadig samme fejl s:



Dette virker:
Fold kodeboks ind/udKode 


Det første problem var at parameteren hed "vector" det giver navne sammenfald.
Det andet problem var at du have skrevet , i stedet for ; i dit for statement.

>Jonas, man skal være meget varsom med at påstå at det ene eller andet er "hurtigere" end noget andet, i dit eksempel er der (sandsynligvis) ingen forskel, til gengæld er det ikke så let at læse (det er naturligvis kun min mening).



Dette virker:
Fold kodeboks ind/udKode 


Det første problem var at parameteren hed "vector" det giver navne sammenfald.
Det andet problem var at du have skrevet , i stedet for ; i dit for statement.

>Jonas, man skal være meget varsom med at påstå at det ene eller andet er "hurtigere" end noget andet, i dit eksempel er der (sandsynligvis) ingen forskel, til gengæld er det ikke så let at læse (det er naturligvis kun min mening).

Tusind tak.
Hvad mener du med at det giver navne sammenfald? Altså mener du med den anden parameter - newProduct parametern?
Fordi kan det ik være ligemeget når parametern alligevel bliver udskiftet med den vecter man selv bestemmer at bruge til det?



Jeg mener at parameteren til funktionen hed "vector" med lille v, så var der to ting der hed "vector", parameteren og typen. Ved at kalde parameteren for Vector (med stort V) er der ikke længere to ting der hedder det samme.

Der er ikke nogen "newProduct" parameter, der er kun en parameter (vector/Vector). Jeg forstår ikke "Fordi kan det ik være ligemeget når parametern alligevel bliver udskiftet med den vecter man selv bestemmer at bruge til det?"



Jeg forstår ikke "Fordi kan det ik være ligemeget når parametern alligevel bliver udskiftet med den vecter man selv bestemmer at bruge til det?"

Altså du bestemmer selv hvilken vector du vil bruge senere hen til funktionen

vector<string> whatever;

browseProduct(whatever);



Nåh, men nu har jeg kun 1 error tilbage.
Dette er når jeg prøver at kalde newProduct funktionen:

main:
Fold kodeboks ind/udKode 


productsfunction.cpp
Fold kodeboks ind/udKode 


products.h
Fold kodeboks ind/udKode 


Log:
Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 10.09.2009 21:18 af Bruger #14212
I Products class'en har du en prototype for en default constructor, men du har ingen implementation for den.

Så du skal enten lave linien (i product.h):
Products();

Om til :
Products() {}
Eler bare slette linien, for den bliver ikke rigtigt brugt.



Du skal muligvis lige have lidt styr på termerne.

Hvis du har:
void Func(int parm)
{
Så er "parm" en parameter

Når du så kalder den:
Func(val)
Så er val et argument.



Du skal muligvis lige have lidt styr på termerne.

Hvis du har:
void Func(int parm)
{
Så er "parm" en parameter

Når du så kalder den:
Func(val)
Så er val et argument.


Har fået det hele til at virke nu. Tusind tak.



<< < 12 > >>
t