Hello,
I formed class template that represent two dimensional array :
And there is present one dimensional data array :Code:template<class T> class Array2D { protected: public: T *data; const unsigned rows, cols, size; Array2D(unsigned r, unsigned c) : rows(r), cols(c), size(r*c) { data = new T[size]; } ~Array2D() { delete data; } void setValue(unsigned row, unsigned col, T value) { data[(row*cols)+col] = value; } T getValue(unsigned row, unsigned col) const { return data[(row*cols)+col]; } };
have function it's inputs are class template and one dimensional data array.I set one dimensional array values to class template :Code:array<double>^ input={20,4,6,15,7,2,1,8,9};
After all I declared 3x3 class template:Code:void function(Array2d<double> &x,array< double>^ input,int width,int,height) { double temp; temp1=0; double temp2; int i,j; // assign input array values to two dimensional array for(i=0;i<width;i++) for(j=0;j<height;j++) { { temp2=input[temp1]; x.setvalue(i,j,temp2); temp1=temp1+1; } } }
I sent it to function:Code:Array2D<double>A(3,3);
And I tried to print Array2D values:Code:function(A,input,3,3);
I executed this applicaiton in CLR Application in Visual Studio 2008 amd it worked .But I want to implement this code on Windows Form Application,and it gave error like these on Form Application:Code:double temp; for(i=0;i<3;i++) for(j=0;j<3;j++) { {temp=A.getValue(i,j) Console:Write("{0}",temp);}}
How can I overcome this error or where should I locate class template?Code:error C2065: 'Array2D' : undeclared identifier error C2065: 'A' : undeclared identifier
Best Regards...



LinkBack URL
About LinkBacks


