#include <string>
#include <vector>
using namespace std;
struct object{
int value;
string name;
object(string str, int val):name(str), value(val){
objList.push_back(this);
}
};
vector<object*> objList;
我想在创建对象时添加对象的指针,但是程序给出错误:“使用未声明的标识符'objList'”,我将objList的声明移到了对象的定义上,并且它给出了警告:“使用未声明的标识符'对象'“。如何在创建对象时添加对象的指针?
答案 0 :(得分:0)
尝试以下
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);
}
};
或
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);
}
};