Dlaczego tak się dzieje?błąd: brak typu o nazwie "wektor" w przestrzeni nazw "std"
error: no type named 'vector' in namespace 'std'; did you mean 'hecto'? void askForVector(std::vector * vector);
#include <iostream>
#include <vector>
void askForVector(std::vector * vector);
int main()
{
std::vector<int> vector;
int size;
askForVector(&vector);
std::cout << "\nsize: " << vector.size() << std::endl;
std::cout << vector.at(0);
}
void askForVector(std::vector * vector)
{
int size;
std::cout << "please insert the size of vector to order: ";
std::cin >> size;
vector->resize(size);
for(int i = 0; i<size; i++){
std::cout << "please insert a value for the " << i+1 << " position: " ;
std::cin >> vector[i];
}
for(int j: *vector)
std::cout << ":"<<j;
std::cout << ":\n";
}
'Wektor' jest szablonem klasy, a nie klasą. – chris
Ponadto, przekazując surowy wskaźnik, gdy nie trzeba go ponownie przypisywać, nie jest to najlepszy pomysł - poleciłbym przekazać "wektor" przez odniesienie: w nagłówku funkcji użyj '&' insted of '*' i użyj argumentu jak 'std :: vector'. – GingerPlusPlus
@Lidia: jeśli jedna odpowiedź rozwiązała twoje problemy, rozważ oznaczenie jej jako zaakceptowanej tak szybko, jak to możliwe. – GingerPlusPlus