Why isn't this working?
Code:
#include <iostream>
#include <cstdio>
#include <cstdlib>
using std::cout;
using std::cin;
using std::endl;
int Map[2][4]= { {1, 1, 1, 1},
{1, 1, 1, 1} };
template <typename N>
void AllocateMemory( N**, int, int );
template <typename N>
void DeallocateMemory( N**, int );
int main( void )
{
int **array;
AllocateMemory<int>( array, 2, 4 );
for( int j= 0; j < 2; j++ )
{
for( int k= 0; k < 4; k++ )
{
array[j][k]= Map[j][k];
}
}
DeallocateMemory<int>( array, 2 );
cin.get();
return EXIT_SUCCESS;
}
template <typename N>
void AllocateMemory( N** var, int groups, int elements )
{
var= new N*[ groups ];
for( int i= 0; i < groups; i++ )
{
var[i]= new N[ elements ];
}
}
template <typename N>
void DeallocateMemory( N** var, int groups )
{
for( int i= 0; i < groups; i++ )
{
delete [] var[i];
}
delete [] var;
}