2016-05-17 7 views
-2

Ich möchte den Zeiger eines Objekts hinzufügen, wenn Sie es erstellen, aber das Programm gibt einen Fehler: "Verwendung der nicht deklarierten Bezeichner 'objList'", ich habe die Deklaration von objList über die Definition des Objekts verschoben, und es gibt eine Warnung: " Verwendung der nicht deklarierten Kennung 'Objekt' ". Wie füge ich den Zeiger eines Objekts hinzu, wenn ich es erstelle?Wie fügt man (Zeiger von) ein Objekt Vektor in seinem Konstruktor hinzu?

+0

Wenn Sie das 'objList' wollen ein Mitglied der 'struct sein object' es im Rahmen Strukturdeklaration zu erklären. – teivaz

Antwort

0

Versuchen Sie, die folgende

using namespace std; 

vector<struct object*> objList; 

struct object{ 
    int value; 
    string name; 
    object(string str, int val): value(val), name(str) { 
     objList.push_back(this); 
    } 
}; 

oder

using namespace std; 

struct object; 

vector<object*> objList; 

struct object{ 
    int value; 
    string name; 
    object(string str, int val): value(val), name(str) { 
     objList.push_back(this); 
    } 
};