Borland C++ Builder 6 - E2316 'vector' ist nicht ein Mitglied von 'std'
Vernünftig neu zu c++, ich bin versucht, Vektoren verwenden in meiner Anwendung.
Ich bin mit
#include <vector>
in der header-Datei, aber wenn ich es kompilieren fehlschlägt, auf diese Zeile:
std::vector<Shot> shot_list;
In Anbetracht der Fehler E2316 'vector' ist nicht ein Mitglied von 'std'
Wenn ich dann entfernen, std::, Es Ergebnisse in der Undefined symbol 'Vektor' im compiler-Fehlermeldung. Wirklich an einem Verlust mit dieser. Hatte keine Probleme mit
std::list<Shot> shot_list;
vor der Verwendung von Vektoren.
Hier ist ein einfaches Beispiel, das nicht comile:
//---------------------------------------------------------------------------
#ifndef testclassH
#define testclassH
//---------------------------------------------------------------------------
#include <vector>
class TestClass {
private:
std::vector<int> testVect(1); //removing std:: and adding using namespace std; below the include for the vector it still fails to compile;
};
#endif
Mir sehe ich keinen Unterschied zwischen diesem und Dieses Beispiel
- Ihre Erklärung der
testVect
ist falsch. Loszuwerden, die(1)
Teil, es sollte nurstd::vector<int> testVect;
von selbst.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ohne Klärung der Frage, welche namespace, der Vektor ist, können Sie nicht verwenden "vector" von sich. (using namespace std;) Vielleicht können Sie fügen Sie Ihren code für mehr spesific helfen.
Edit:
Können Sie nicht initialisiert den Vektor in die .h. Sie brauchen, um es in .cpp vielleicht mit der resize () - Funktion des Vektors. Dies kann eine option für Sie (mit dem Konstruktor der Klasse):
Dem einfachen Beispiel, das Sie gegeben haben, wird kompiliert, wenn Sie die änderung vornehmen.