由于这个奇怪的编译错误,我在编译程序时遇到了问题...这是代码的具体部分:
// 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];
}
}
最佳答案
在C/C++中,您不能像char _adr[][]
那样定义具有两个未知大小的二维数组。数组声明必须定义所有(但第一个)大小。尝试定义至少一个大小(例如:char _adr[][10]
),或者,由于您使用的是C++,请改用 std::vector
。
只是为了使您注意到它:您还在使用adr
而不在函数范围内声明它。