I created a vector of vertex pointers and now I want to print them out. I tried to print them out by dereferencing the pointers, but that didn’t work and I got Error: indirection requires pointer operand ('int' invalid)
. I’ve printed out pointers before, but I have never run into this error. Any help would be great! Thanks in advance!
vector<Vertex*> vertices (numVertices + 1); for(int i=1;i<=numVertices;i++) { file >> numEdges; cout << "At vertex " << i << " the number of edges is " << numEdges << endl; vertices[i] = new Vertex(); //Vertex newVertex; //Using the i counter variable in the outer for loop to identify //the what vertex what are currently looking at in order to read in the correct adjacent vertex and weight vertices[i] -> setVertexNum(i); //newVertex.setVertexNum(i); for(int j=1;j<=numEdges;j++) { file >> adjacentVertex; cout << "The adjacent vertex is: " << adjacentVertex << endl; file >> weight; cout << "The weight is: " << weight << endl; cout << endl; vertices[i]->setAdjacentVertex(adjacentVertex, weight); } vertices.push_back(vertices[i]); } vector<Vertex*> sortedVertices = vertices; insertionSort(sortedVertices); for(int i=0;i<vertices.size();i++) { cout << "V" << i << ": "; cout << endl;