I am trying to pass the size of the matrix array during the constructor but its giving me the following error. Is there a different way to do this?

In file included from Main.cpp:1:
AdjacencyMatrix.h: In constructor ‘AdjacencyMatrix::AdjacencyMatrix(int, std::string)’:
AdjacencyMatrix.h:13: error: ‘numberOfNodes’ cannot appear in a constant-expression

Line 13 is the constructor declaration.

Here is my code


using namespace std;

class AdjacencyMatrix {
	bool* matrix;
	AdjacencyMatrix(int const numberOfNodes, string fileName)
		matrix = new bool[numberOfNodes[numberOfNodes];		//two dimensional array
	void populateArray(string filName);

Thanks in advance

I find that it compiles fine, after you take the excess [numberOfNodes .

I would think that removing the const keyword from your parameter list would clear the error you're getting.

FYI, you're not declaring or allocating a 2D array. bool* matrix; will be a 1D array only.

(using VC++ 2005)