Probleme mit dem "vector"
-
Habe nun ein Problem mit dem "vectror".
Mein Quelltext sieht wie folgt aus:.... #include <vector> ... struct para { int id; AnsiString text; }; ... vector<para> Parameter; // Hier zeigt er mir einen Fehler beim Compilieren an ...Beim Compilieren wird mir and der Position der Initialisier des Vectors ein Fehler angezeigt:
[C++ Fehler] Unit2.cpp(26): E2451 Undefiniertes Symbol 'vector'Was mache ich verkehrt?
-
using namespace std;
oder
std::vector<para> Parameter;
-
Danke, funktioniert.
Aus Interesse, kann mir das jemand mal erläutern?
-
In C++ wurden Namensräume eingeführt, damit nicht mehr alle Namen global bekannt sein müssen. Und die Klassen und Funktionen der Standardbibliothek befinden sich (fast) alle im Namensraum "std" - deshalb mußt du dort ein std:: davorsetzen (oder sie per using bekanntmachen).
-
In C++ gibt es Namensräume (namespaces) in denen Klassen existieren. Die Standardbibliothek (vector, map, list, usw.) befinden sich im namespace std (standard).
Dem Compiler musst du sagen, in welchem namespace sich ein Klasse befindet, wenn du sie benutzten willst.
Entweder du machst das bei jeder Verwendung:
std::vector foo; std::vector bar;Oder du sagst dem Compiler, dass er für die gesamte Datei den namespace nutzen soll:
using namespace std;
-
Danke euch.
-
Cool, danke. Wollte schon immer mal wissen was das namespace bedeutet
