我在想這個創建的字符串矩陣:用C
typedef char *string;
string matrix[100][100];
void init(string input[][]);
,但它不工作。任何人有任何想法如何做到這一點?
我在想這個創建的字符串矩陣:用C
typedef char *string;
string matrix[100][100];
void init(string input[][]);
,但它不工作。任何人有任何想法如何做到這一點?
函數聲明是錯誤的。 在函數參數中不使用類似string input[][]
的東西。 我建議使用void init(string** input);
然而,它是確定其聲明爲void init(string input[][100]);
void init(string input[]);
- 我想你想的?
不,這將是一個字符串數組。我需要一個矩陣,二維數組。 –
我最初讀錯了你的問題,並假定你想要一個字符串數組,但它看起來像你想要一個二維數組的字符串,我的壞。
要刪除錯誤error: array type has incomplete element type
,你可以聲明init
如:
void init(string input[100][100])
OR
void init(string (*input)[100])
如果規模預計爲常數,即。 100行,100列。如果不是,則將行數和列數傳遞給init
。
但不會char [] []是一個字符矩陣?這不是我需要的。我需要一個字符串矩陣,比如char [] [] [],但它太複雜了,所以這就是爲什麼我嘗試使用typedef。 –
@GeroPerov:對不起,我讀錯了你的問題,我編輯它來修復你提到的錯誤。 – AusCBloke
您必須說void init(string input[100][100]);
。見this question。
什麼不工作? – jman
Uuuh,編譯,工作。你認爲錯誤是什麼? – ScarletAmaranth
在gcc上有一個錯誤:數組類型具有不完整的元素類型 –