0

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

#include<string>
#include<fstream>

using namespace std;

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

Thanks in advance

2
Contributors
2
Replies
3
Views
8 Years
Discussion Span
Last Post by chunalt787
0

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)

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.