blob: 1b50a5f626ad31cb2107b32ea28b9cd13a652385 [file] [log] [blame]
// Produces ICE 980519.
// Test case from Dirk Engelmann <Dirk.Engelmann@IWR.Uni-Heidelberg.De>
namespace vector {
// allocate memory for vector
template <class T>
inline T* alloc(const int aWidth)
{
// allocate memory
return new T[aWidth];
}
}
namespace matrix {
// allocate memory for matrix
template <class T>
T** alloc(const int aWidth,const int aHeight)
{
// allocate memory
T **mat = vector::alloc<T*>(aHeight);
T *data = vector::alloc<T> (aWidth*aHeight);
// set pointer
for (int i=0; i<aHeight; i++)
mat[i] = &data[aWidth*i];
// ok
return mat;
}
}
int main(void)
{
// sample
double **m=matrix::alloc<double>(10,20);
}