我使用微軟的Visual Studio Express的2013年,努力使這個東西...代碼實際工作了,不過,有一個錯誤,用代碼C4047:'char *' differs in levels of indirection from 'char[24][50]'
Multidimensional Arrays上有多少層次的間接?
是這樣嗎?
無視警告,程序正常工作,因爲我預計它沒有問題。我只是想了解和了解背後發生的事情。 (陳舊的)警告指出我在函數中傳遞多維數組的位置。下面是函數的參數行:
void mass_assigner(
WORD * translations,
char * labels,
char * PermBannedKeys,
char * TempBannedKeys,
char * Cooldowns
)
{ ... }
,這裏是我如何把它從main
:
...
mass_assigner(
translations,
labels,
PermBannedKeys,
TempBannedKeys,
Cooldowns
);
...
其中labels
是char labels[24][50] = { ... };
什麼是真正的問題?據我所知,一個多維數組不是一個數組的數組(它會有多個間接級別),而只是一個數組(它具有單一的間接級別)。
'labels'是' char **'/指向字符串的指針=>指向指針的指針 –