我有类似的如下:使用指针的二维数组导致错误
template<class T>
struct point{
point* next = nullptr;
T* data = nullptr;
}
template<class T>
class newClass
{
point<T>*** points;
public:
newClass()
{
points = new point<T>**[10];
for (int i = 0; i < 10; i++)
points[i] = new point<T>*[10];
for (int i = 0; i < 10; i++)
for(int j = 0; j < 10; j++)
if(j != 9)
points[i][j]->next = points[i][j+1]; //ERROR
}
};
有人可以帮助我明白为什么这会产生一个错误?我没有收到错误消息,该程序只是崩溃。
请不要[三星级程序员(http://c2.com/cgi/wiki?ThreeStarProgrammer) – NathanOliver
为什么不直接使用'的std :: VECTOR' *等*而不是重新发明轮子? –
为什么当你已经把所有的节点都放在一个容器中的时候,建立一个简单的节点链表?你已经知道'points [a] [b]'的“next”节点将是'points [a] [b + 1]'。 –