Vectorübergabe an Funktion in Modul
-
Hallo, hab nen kleines Problem. Ich habe folgenden Code
#include<iostream> #include<vector> using namespace std; void vectorOutput(vector<int> x) { for(unsigned int i = 0; i < x.size(); i++) { cout << x[i]; } cout << endl; } int main() { vector<int> vec; vec.push_back(678); vec.push_back(789); vec.push_back(567); vectorOutput(vec); }Ganz simpel.
Jetzt wollte ich einfach nur die Funktion auslagern, und genau das funktioniert nicht, habe also bisher folgende drei Dateien.Main.cpp
#include<vector> #include "VectorOutput.h" using namespace std; int main() { vector<int> vec; vec.push_back(678); vec.push_back(789); vec.push_back(567); vectorOutput(vec); }VectorOutput.h
#include<vector> void vectorOutput(vector<int>);VectorOutput.cpp
#include<iostream> #include<vector> using namespace std; void vectorOutput(vector<int> x) { for(unsigned int i = 0; i < x.size(); i++) { cout << x[i]; } cout << endl; }Ich muss dazu sagen ich bin absoluter Neuling in C++, also bitte habt Verständnis. Ich weiß einfach nicht wo der Haken ist.
Kann es sein das man hier mit Referenzen arbeiten muss? Oder liegt das an was ganz anderem.Die gelieferten Fehler:
Main.cpp Zeile 14: error C3861 "vectorOutput": Bezeichner wurde nicht gefunden
VectorOutput.h Zeile 3: error C2065 'vector': nichtdeklarierter Bezeichner
VectorOutput.h Zeile 3: error C2062 'int'-Typ unerwartetDanke
-
acridmusak schrieb:
VectorOutput.h
#include<vector> void vectorOutput(vector<int>);Da fehlt die Qualifizierung ==>
void vectorOutput(**std::**vector<int>);
-
Da hätt ich auch selber drauf kommen können, jetzt funktionierts. Vielen herzlichen Dank