wizard1993
15-09-2007, 20:11
salve a tutti;
stavo leggendo il libro thinking c++; e al capito sul vector a questa pagina
http://www.umbertosorbo.it/wiki/index.php/Creare_ed_usare_gli_oggetti#Introduzione_a_vector
ho provato a compilare l'esempio su visual c++ 2005 e il risultato è stato questo
1>------ Inizio generazione: Progetto: provawrite, Configurazione: Debug Win32 ------
1>Compilazione in corso...
1>main.cpp
1>.\main.cpp(23) : error C2955: 'std::vector': l'utilizzo di un modello di classe richiede un elenco di argomenti di modello
1> D:\visual c++\VC\include\vector(1246): vedere la dichiarazione di 'std::vector'
1>.\main.cpp(23) : error C2133: 'v': dimensione sconosciuta
1>.\main.cpp(23) : error C2512: 'std::vector': non è disponibile alcun costruttore predefinito appropriato
1>.\main.cpp(31) : error C2662: 'std::vector<_Ty,_Alloc>::push_back': impossibile convertire il puntatore 'this' da 'std::vector' a 'std::vector<_Ty,_Alloc> &'
1> Motivo: impossibile convertire da 'std::vector' a 'std::vector<_Ty,_Alloc>'
1> La conversione richiede un secondo operatore di conversione definito dall'utente o un costruttore
1>.\main.cpp(35) : error C2662: 'std::vector<_Ty,_Alloc>::size': impossibile convertire il puntatore 'this' da 'std::vector' a 'const std::vector<_Ty,_Alloc> &'
1> Motivo: impossibile convertire da 'std::vector' a 'const std::vector<_Ty,_Alloc>'
1> La conversione richiede un secondo operatore di conversione definito dall'utente o un costruttore
1>.\main.cpp(37) : error C2678: '[' binario: non è stato trovato alcun operatore che accetti un operando sinistro di tipo 'std::vector'. È anche possibile che non vi siano conversioni accettabili.
1> D:\visual c++\VC\include\vector(735): potrebbe essere 'vector<_Ty,_Alloc>::_Alloc::const_reference std::vector<_Ty,_Alloc>::operator [](vector<_Ty,_Alloc>::_Alloc::size_type) const'
1> D:\visual c++\VC\include\vector(750): o 'vector<_Ty,_Alloc>::_Alloc::reference std::vector<_Ty,_Alloc>::operator [](vector<_Ty,_Alloc>::_Alloc::size_type)'
1> durante la ricerca di corrispondenza con l'elenco di argomenti '(std::vector, int)'
1>Il log di generazione è stato salvato in 'file://c:\Users\wizard1993\Desktop\provawrite\provawrite\provawrite\Debug\BuildLog.htm'
1>provawrite - 6 errore/i, 0 avviso/i
========== Generazione: 0 completate, 1 non riuscite, 0 aggiornate, 0 ignorate ==========
il codice è
#include <string>
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main() {
vector v;
ifstream in("Fillvector.cpp");
string linea;
while(getline(in, linea))
v.push_back(linea); // Aggiunge la linea alla fine
// Aggiunge i numeri di linea:
for(int i = 0; i < v.size(); i++)
cout << i << ": " << v[i] << endl;
} ///:~
che mi invento? :confused: :rolleyes:
stavo leggendo il libro thinking c++; e al capito sul vector a questa pagina
http://www.umbertosorbo.it/wiki/index.php/Creare_ed_usare_gli_oggetti#Introduzione_a_vector
ho provato a compilare l'esempio su visual c++ 2005 e il risultato è stato questo
1>------ Inizio generazione: Progetto: provawrite, Configurazione: Debug Win32 ------
1>Compilazione in corso...
1>main.cpp
1>.\main.cpp(23) : error C2955: 'std::vector': l'utilizzo di un modello di classe richiede un elenco di argomenti di modello
1> D:\visual c++\VC\include\vector(1246): vedere la dichiarazione di 'std::vector'
1>.\main.cpp(23) : error C2133: 'v': dimensione sconosciuta
1>.\main.cpp(23) : error C2512: 'std::vector': non è disponibile alcun costruttore predefinito appropriato
1>.\main.cpp(31) : error C2662: 'std::vector<_Ty,_Alloc>::push_back': impossibile convertire il puntatore 'this' da 'std::vector' a 'std::vector<_Ty,_Alloc> &'
1> Motivo: impossibile convertire da 'std::vector' a 'std::vector<_Ty,_Alloc>'
1> La conversione richiede un secondo operatore di conversione definito dall'utente o un costruttore
1>.\main.cpp(35) : error C2662: 'std::vector<_Ty,_Alloc>::size': impossibile convertire il puntatore 'this' da 'std::vector' a 'const std::vector<_Ty,_Alloc> &'
1> Motivo: impossibile convertire da 'std::vector' a 'const std::vector<_Ty,_Alloc>'
1> La conversione richiede un secondo operatore di conversione definito dall'utente o un costruttore
1>.\main.cpp(37) : error C2678: '[' binario: non è stato trovato alcun operatore che accetti un operando sinistro di tipo 'std::vector'. È anche possibile che non vi siano conversioni accettabili.
1> D:\visual c++\VC\include\vector(735): potrebbe essere 'vector<_Ty,_Alloc>::_Alloc::const_reference std::vector<_Ty,_Alloc>::operator [](vector<_Ty,_Alloc>::_Alloc::size_type) const'
1> D:\visual c++\VC\include\vector(750): o 'vector<_Ty,_Alloc>::_Alloc::reference std::vector<_Ty,_Alloc>::operator [](vector<_Ty,_Alloc>::_Alloc::size_type)'
1> durante la ricerca di corrispondenza con l'elenco di argomenti '(std::vector, int)'
1>Il log di generazione è stato salvato in 'file://c:\Users\wizard1993\Desktop\provawrite\provawrite\provawrite\Debug\BuildLog.htm'
1>provawrite - 6 errore/i, 0 avviso/i
========== Generazione: 0 completate, 1 non riuscite, 0 aggiornate, 0 ignorate ==========
il codice è
#include <string>
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main() {
vector v;
ifstream in("Fillvector.cpp");
string linea;
while(getline(in, linea))
v.push_back(linea); // Aggiunge la linea alla fine
// Aggiunge i numeri di linea:
for(int i = 0; i < v.size(); i++)
cout << i << ": " << v[i] << endl;
} ///:~
che mi invento? :confused: :rolleyes: