由于这个奇怪的编译错误,我编译程序的问题......这是代码的具体部分:
// 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 :(得分:9)
在C / C ++中,您无法定义具有两个未知大小的二维数组,如char _adr[][]
中所示。数组声明必须包含所有,但第一个,大小已定义。尝试定义至少一个大小(例如:char _adr[][10]
),或者,因为您使用的是C ++,所以请改用std::vector
。
只是为了让你注意到它:你也在使用adr
而没有在函数范围内声明它。