I got an array class and I'm getting this error:
Error 1 error C2953: 'Array2D' : class template has already been defined
Array2D.h
Tools.hCode:#include "Tools.h"
template <typename T>
class Array2D
{
T** arr;
int xSize;
int ySize;
public:
Array2D(int xSize, int ySize)
{
arr = Tools::allocateDynamicArray<T>(xSize, ySize);
this->xSize = xSize;
this->ySize = ySize;
for(int i = 0; i<xSize; i++)
{
for(int j = 0; j<ySize; j++)
{
arr[i][j] = null;
}
}
}
int getXSize()
{
return xSize;
}
int getYSize()
{
return ySize;
}
T get(int i, int j)
{
return arr[i][j];
}
void set(int i, int j, T value)
{
arr[i][j] = value;
}
Array2D(void);
~Array2D(void);
};
How can I fix this?Code:#pragma once
class Tools
{
public:
template <typename T>
static T **allocateDynamicArray( int nRows, int nCols)
{
T **dynamicArray;
dynamicArray = new T*[nRows];
for( int i = 0 ; i < nRows ; i++ )
dynamicArray[i] = new T [nCols];
return dynamicArray;
}
static long generateRandomLong();
static bool isPrime(int num);
static int randomNumberRange(int min, int max);
};