PDA

Visualizza la versione completa : [C++] Vector


keratox
31-10-2005, 09:24
#include <iostream>
using namespace std;


int main(){

vector<T> rubrica(1000);

return 0;
}



Come mai ...



- error C2065: 'vector' : undeclared identifier
- error C2065: 'T' : undeclared identifier
- error C2065: 'rubrica' : undeclared identifier
- warning C4804: '>' : unsafe use of type 'bool' in operation
- warning C4552: '>' : operator has no effect; expected operator with side-effect


????


Ciao.. scusate ma dal libro di stroustrup non si capisce molto!

DydBoy
31-10-2005, 10:29
Hai dimenticato



#include <vector>

keratox
31-10-2005, 12:11
Avevo gia' provato, ma insorgono altri errori:



- error C2065: 'T' : undeclared identifier
- error C2955: 'vector' : use of class template requires template argument list
c:\programmi\microsoft visual studio\vc98\include\vector(244) : see declaration of 'vector'
- error C2514: 'std::vector' : class has no constructors
c:\programmi\microsoft visual studio\vc98\include\vector(244) : see declaration of 'vector'
-: error C2262: 'rubrica' : cannot be destroyed
Error executing cl.exe.


Uso Visual C++ 6.0


Ciao

albgen
31-10-2005, 12:49
Originariamente inviato da keratox
Avevo gia' provato, ma insorgono altri errori:



Uso Visual C++ 6.0


Ciao
giustamente il compilatore di segnala che non ho la + pallida idea di cosa sia T.

T deve essere una classe progettata da te perchè tutto funziona,oppure al posto di T prova ad inserire int o double...vedrai che ti compila
:ciauz:

keratox
31-10-2005, 13:04
Vero! grazie

pensavo che T fosse un identificatore con cui potevi fare delle operazioni con il vettore... sbagliavo!

ok...


ciao!

keratox
31-10-2005, 13:07
E perche' non mi è concesso fare una cosa del genere ?




struct voci{
string nome;
int numero;
string citta;
};

vector<voci> rubrica(1000);

albgen
31-10-2005, 13:08
perchè struct è codice C.
prova con class al posto di struct :ciauz:

keratox
31-10-2005, 13:10
Ah ok perfetto...

grazie!

Ciao :)

keratox
31-10-2005, 13:15
Ultimissima cosa...

perchè questo non va (il riferimento a 'nome')


#include <iostream>
#include <vector>
using namespace std;

class voci{
string nome;
int numero;
string citta;
};

int main(){

vector<voci> rubrica(1000);

rubrica.nome = "Roby";

return 0;
}


Dice

error C2039: 'nome' : is not a member of 'vector<class voci,class std::allocator<class voci> >'

Come mai ???


Ciao

albgen
31-10-2005, 13:33
questa istruzione non ha senso !!
rubrica.nome = "Roby";

devi capire com funzionano i template e la programmazione a oggetti per riuscire a capire perchè non ti compila.


guarda qui
http://www.sgi.com/tech/stl/Vector.html

Loading