我有這樣的類型:C++類型轉換:錯誤C2440:'=':無法從'short *'轉換爲'DCTBLOCK'
typedef short DCTELEM;
typedef DCTELEM DCTBLOCK[64];
最後一種類型的數組和指向malloc的短褲陣列的指針:
DCTBLOCK MQUAD;
short * ptrArray;
我需要MQUAD下注到ptrArray指向的特定位置;
在CI中會多寫一些類似
MQUAD = ptrArray + 3 * 2;
並且在指向所需位置之後有MQUAD,但我得到
錯誤C2440:'=':無法從'短轉換*'到'DCTBLOCK'
在C++中,因爲我知道一種類型的數組和指向某種類型的指針存在差異。
MQUAD是一個數組變量,而不是一個指針變量。你不能爲它指定一個指針值。如果Anton希望MQUAD指向ptrArray變量所指向的malloc'ed shorts內的某個位置,則MQUAD必須聲明爲DCTELEM *或short *指針。 – 2010-06-22 01:37:05
@Remy Lebeau:的確,很對。我會更新我的答案。 – 2010-06-22 02:12:29
是的,完全可行,我剛剛意識到,在打開窗口之前1分鐘:)。 – Anton 2010-06-22 02:31:14