hello,
I have some problem with my project in C. I want do define a generic type of matrix. with this type I can save any kind of type(int, double, float...). but I have some errors in my code. if someone can help me I'll be very gratefull. the code is:
the errors is :
error C2036: 'void *' : unknown size
error C2120: 'void' illegal with all types
error C2036: 'void *' : unknown size
error C2069: cast of 'void' term to non-'void'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
thanks to all,
mos
I have some problem with my project in C. I want do define a generic type of matrix. with this type I can save any kind of type(int, double, float...). but I have some errors in my code. if someone can help me I'll be very gratefull. the code is:
Code:
typedef struct arr{ void * p_arr; }arr; typedef struct matrix{ arr * p_mat; char* name; int size_h; int size_w; int type; }matrix; matrix matrix_zeroes(int i,int j) //returen pointer to matrix (ixj) { int n=0,m=0; matrix mat; mat.size_h=i; mat.size_w=j; mat.name="matrix_zeroes"; mat.p_mat = (arr*)(malloc(i*sizeof(arr))); for(n=0;n<i;n++) (int*)mat.p_mat[n].p_arr=(int*)(malloc(j*sizeof(int))); for(n=0;n<i;n++) for(m=0;m<j;m++) mat.p_mat[n].p_arr[m]=0; return mat; } void matrix_print(matrix mat) { int m,n; int i=mat.size_h,j=mat.size_w; for(n=0;n<i;n++) { for(m=0;m<j;m++) printf(" %d ",(int)(mat.p_mat[n].p_arr[m])); printf("\n"); } }
the errors is :
error C2036: 'void *' : unknown size
error C2120: 'void' illegal with all types
error C2036: 'void *' : unknown size
error C2069: cast of 'void' term to non-'void'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
thanks to all,
mos
Comment