【C++】在类中定义一个static指向该类的指针数组变量,对其初始化时遇到问题

如图,使用record变量的目的是存储所有属于A类的被建立的对象的地址,以便于以后访问。count用于记录当前已创建对象的个数。
请各位大侠解答一下此问题,小女子感激不尽~~

for循环中不应该再有A*了(只有定义的时候需要说明类型,之后用的时候直接用数组名就可以了)
只用:
recode[i] = NULL:就行了。追问

噢,但删去A*后编译器提示在85行和86行出错,undefined reference to `A::record',应如何解决?

追答//你的代码逻辑有点乱,static类型的A*数组,为什么在每次构造函数的时候都全部赋值为NULL呢?如此那么以前加进来的数据不就都被重写为NULL了么?
//这份代码的问题出在A*数组没有初始化,可以这么修改
#include<iostream>
using namespace std;
class A{
public:
A();
private:
static A*record[100];
static int count;
};
int A::count = 0;
A* A::record[100] = {NULL};
A::A(){
record[count++] = this;
}
int main(){

return 0;
}

温馨提示:答案为网友推荐,仅供参考
相似回答