2014-01-12 169 views
2

I`ve問題,編譯因爲這奇怪的編譯錯誤,我的程序...這裏是代碼的具體部分:錯誤「的陣列可沒有這種類型的元素」

// the error occures at "char _adr[][]" in the constructor parameters 

Addresses(string _ime, string _egn, char *_adres, char _adr[][], int adrLen):Person(_ime, _egn, _adres){ 
    addressLength = 0; 
    for(; addressLength < adrLen; addressLength++) { 
     if(addressLength >= 5){ 
      break; 
     } 
     adr[addressLength] = _adr[addressLength]; 
    } 
} 
+0

'adr'在哪裏定義? – JaredPar

+1

您應該定義最後一列的大小: 'char _adr [] [256]' –

+0

多維數組必須具有除第一個以外的所有維的界限 –

回答

5

在C/C++您無法定義兩個未知大小的二維數組,如char _adr[][]。數組聲明必須包含全部,但首先定義的大小。嘗試定義至少一個大小(例如:char _adr[][10]),或者,因爲您正在使用C++,請改爲使用std::vector

只是爲了讓您注意到它:您也正在使用adr而未將其聲明在函數的範圍內。

相關問題