PDA

View Full Version : [C++]Passaggio di parametri


Unrue
31-07-2006, 15:55
Qualcuno sa come passare un multiset come parametro di una funzione? Volevo evitare di mettere il multiset globale ed ho una funzione che lavora su tale multiset. Nel caso degli array, viene passato l'indirizzo dell'array, non viene fatta una copia. Penso che sia lo stesso con i multiset, ma non so la sintassi da usare.Grazie.

cionci
31-07-2006, 20:12
Sono variabili come ogni altra... Li passi per riferimento e tagli la testa al toro ;)

PS: se non li passi per riferimento viene fatta la copia...

Unrue
31-07-2006, 20:53
Sono variabili come ogni altra... Li passi per riferimento e tagli la testa al toro ;)

PS: se non li passi per riferimento viene fatta la copia...

Si si lo so :)

Pero' come č la sintassi per il riferimento del multiset?

in generale per esempio : void funzione(int&)

e siamo d'accordo. Invece per il multiset:


void funzione(multiset<int>&)

Va bene cosi'?

cionci
31-07-2006, 22:30
Certo ;)

Unrue
08-08-2006, 16:23
Certo ;)

Non funziona, mi dice :

[C++ Error] Progetto.h(132): E2303 Type name expected

sottovento
09-08-2006, 07:46
Non funziona, mi dice :

[C++ Error] Progetto.h(132): E2303 Type name expected

Sembra che venga creato un tipo "al volo". Prova a fare una typedef

Unrue
09-08-2006, 14:39
Sembra che venga creato un tipo "al volo". Prova a fare una typedef


Nel file cpp basta dichiarare :

void funzione(multiset<int>& a) {

}

Ma non so come si fa la dichiarazione nell'header. Ho provato

void funzione(multiset<int>&)

ma mi dice "Expected ) "

Mi manca solo la sintassi della dichiarazione, poi sono a posto.

cionci
09-08-2006, 18:51
Cosė non funziona ?

void funzione(multiset<int>& a);

Unrue
09-08-2006, 19:43
Cosė non funziona ?

void funzione(multiset<int>& a);

Nell'header, sia se scrivo :

void prova(multiset<int>& a);

che

void prova(multiset<int>&);

mi dice

[C++ Error] ProgettoIA.h(133): E2293 ) expected

ed il cursore si ferma prima della i di int.. :(