Also argument 2 makes integer from a pointer with a cast. One argument is a struct declared in an included library. It's declared like:
struct pixelst *lzwArr;
lzwArr = (struct pixelst *) malloc(pixels); // pixels is an int
the second argument is an unsigned int 2D array. It's used in a function to store hex numbers. It's declared like:
int dlzwHeight = (int)lzwArr[0].height; //cast to int
int dlzwWidth = (int)lzwArr[0].width; //cast to int
unsigned int dlzwArr[ dlzwHeight ][ dlzwWidth ];
dlzwFun(lzwArr, dlzwArr); //line giving the error
The reason I cast the struct variables to int is because they start as hex numbers. Can you see the problem from the code here?