刚刚遇到这样一个问题:将一个char* p 的指针强制转换为一个二维数组类型 short (*data)[640]。
开始做法是:
short (*data)[640]=(char*)p[640];
结果提示无法转换,编译出错。
问题的难点在于,不知道怎么写强制转换。后来终于找到了方法:利用typedef
typedef short (*ImageData)[640];
short (*data)[640]=(ImageData)p;
这样就可以了。
当然,用C++的reinterpret_cast也可以。
short (*data)[640]=reinterpret_cast<ImageData>p;