C++ Can';t解决错误:分段故障(堆芯转储)

C++ Can';t解决错误:分段故障(堆芯转储),c++,pointers,C++,Pointers,我试图打印出一个顶点指针向量,但我一直遇到分段错误(核心转储)错误。我尝试去引用然后打印,但我发现我去引用的是一个整数。所以现在我又回到了断层带。任何帮助都将不胜感激!谢谢 getAdjacentVertex()返回向量,getWeight()返回整数,getAdjacentVertex()还返回整数 vector<Vertex*> vertices (numVertices + 1); for(int i=0;i<vertices.size();i++) {

我试图打印出一个顶点指针向量,但我一直遇到分段错误(核心转储)错误。我尝试去引用然后打印,但我发现我去引用的是一个整数。所以现在我又回到了断层带。任何帮助都将不胜感激!谢谢

getAdjacentVertex()返回向量,getWeight()返回整数,getAdjacentVertex()还返回整数

vector<Vertex*> vertices (numVertices + 1);

for(int i=0;i<vertices.size();i++)
    {
        cout << "V" << i << ":  ";
        cout << endl;
        for(int j=0;j<vertices[i] -> getAdjacentVertices().size();j++) ///ERROR IS HERE 
        {
            cout << "V" << vertices[i] -> getAdjacentVertices()[j].getAdjVertex() << " " << vertices[i] -> getAdjacentVertices()[j].getWeight() << endl;
        }
    }
向量顶点(numVertices+1);

对于(int i=0;i当您构造
顶点时,请确保将所有顶点初始化为NULL

vector<Vertex*> vertices (numVertices + 1, NULL);

你没有让向量中的指针指向任何有用的东西。不要使用原始指针。因为你自己也经历过,它们很难正确使用。以上所有的都是有效的点,但我如何解决这个错误???让向量中的指针指向有用的东西。或者不要存储指针。非常感谢,SIR
for(int i=0;i<vertices.size();i++)
{
   cout << "V" << i << ":  ";
   cout << endl;
   if ( vertices[i] != NULL )
   {
     for(int j=0;j<vertices[i] -> getAdjacentVertices().size();j++) ///ERROR IS HERE 
     {
        cout << "V" << vertices[i] -> getAdjacentVertices()[j].getAdjVertex() << " " << vertices[i] -> getAdjacentVertices()[j].getWeight() << endl;
     }
   }
}