DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   C++ (http://www.daniweb.com/forums/forum8.html)
-   -   setting size of 2-D array at constructor issue (http://www.daniweb.com/forums/thread159309.html)

chunalt787 Nov 24th, 2008 6:36 pm
setting size of 2-D array at constructor issue
 
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

vmanes Nov 24th, 2008 7:04 pm
Re: setting size of 2-D array at constructor issue
 
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)

chunalt787 Nov 24th, 2008 7:45 pm
Re: setting size of 2-D array at constructor issue
 
o ok that makes sense. thanks


All times are GMT -4. The time now is 3:45 pm.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC