在指针c ++的向量中打印指针的值

时间:2018-01-29 16:36:48

标签: c++ pointers vector

这是我的代码:

vector<int *> *ptr;
int *tab = new int(20);
ptr->push_back(tab);
cout << *(ptr->at(0)) << endl;

我想在屏幕上打印20,但是我遇到了分段错误。 当我只使用

vector<int *> ptr;
它打印出来很好。我只是通过这样做轻松得到结果:

*ptr.at(0);

但我想使用指针而不是简单的变量。 我可以有一些启示吗?

由于

1 个答案:

答案 0 :(得分:-1)

暂时忽略使用指针...

的原因
vector<int *> *ptr;
int *tab = new int(20);
ptr->push_back(tab);

是一个问题,因为您尚未为ptr分配内存。

使用:

// Allocate memory for ptr first.
vector<int *>* ptr = new vector<int*>;
int *tab = new int(20);
ptr->push_back(tab);