PDA

View Full Version : [C++]Problema passaggio variabili tra funzioni [puntatori e menate varie inside]


Mattyfog
04-09-2009, 09:42
Purtroppo non riesco a richiamare la funzione search...
Ottengo questo errore:
In function `int main()':|
no matching function for call to `search(char[260])'|
||=== Build finished: 1 errors, 0 warnings ===|


char perc[MAX_PATH];
...
search(perc);



void search(char *p)
{
...
}

come risolvo?

Rsk
04-09-2009, 12:52
dove dichiari il prototipo della funzione devi scrivere anche void altrimenti se non scrivi niente, per default è int

Mattyfog
04-09-2009, 12:59
ma dove scusa?
guarda che io l ho scritta... se ho capito bene

Rsk
04-09-2009, 13:01
ma dove scusa?
guarda che io l ho scritta... se ho capito bene

char perc[MAX_PATH];
...
void search(perc);



void search(char *p)
{
...
}

Mattyfog
04-09-2009, 13:04
scusa mi sa che ho scritto male il codice....
allora quando scrivo solo
search(perc);
richiamo la funzione cioè la uso (se è giusto il termine richamo)
è dopo nel
void search(char *p)
{
...
}
che faccio il prototipo...

Mattyfog
04-09-2009, 13:20
codebloks... proverò a riusarte dev-c++ tanto uso il c# ormai e il c++ mi serviva solo perchè avevo un po di codice che mi avrebbe fatto comodo...

comunque non va uguale con &perc[0] ...


grazie :)

Mattyfog
04-09-2009, 13:59
anche con dev c++ non va...
tra l'altro credo che utilizzino lo stesso compilatore codebloks e devc++...
che faccio?
inntanto un grazie a tutti!!!

wingman87
04-09-2009, 14:08
Prova a mettere il corpo della funzione prima del main, oppure aggiungi il prototipo (sempre prima del main)

Tommo
04-09-2009, 14:57
ma la funzione è definita prima o dopo la chiamata?
Nel secondo caso, per fargliela trovare devi fare una forward declaration!

Mattyfog
04-09-2009, 15:56
è definitita dopo... potrebbe esssere quello.... adesso non sono a casa ma proverò a vedere ;)

Mattyfog
04-09-2009, 22:40
è definitita dopo... potrebbe esssere quello.... adesso non sono a casa ma proverò a vedere ;)

risolto così grazie a tutti ;)

Mattyfog
05-09-2009, 10:54
ho spostato la funzione prima della chiamata...
scs ma nn m va la tastiera e sto usando qll su skermo scomodx:(

wingman87
05-09-2009, 19:12
Probabilmente il prototipo non l'ha proprio messo

Mattyfog
06-09-2009, 11:32
prima era così:

int main()
{
...
search()
...
}

void search()
{
...
}

e quindi definivo dopo il prototipo della funzione...
ho solo cammbiato tutto così:

void search()
{
...
}

int main()
{
...
search()
...
}

Mattyfog
06-09-2009, 12:22
ok grazie ;)