It is unclear to some students how constant maxEdges fits into assignment 5. Here is a definition of type Graph. struct Graph { int numOfVertices; int numOfEdges; Edge* edges; int sizeOfArray; Graph(int n, int e) { numOfVertices = n; numOfEdges = 0; sizeOfArray = e; edges = new Edge[e]; } }; When main calls readGraph, it will say Graph* g = readGraph(maxEdges); That is the only place where maxEdges comes into play.