我正在尝试将二维数组本地存储在私有成员变量中,但我不确定如何分配内存。
class Class1{
public:
Class1(string strings[][2], int size){
for(int i = 0; i < size; i++){
this->strings[i][0] = strings[i][0];
this->strings[i][1] = strings[i][1];
}
}
private:
string strings[][2];
}
我知道编译器不知道如何为字符串的大小分配内存,但我不完全确定如何解决这个问题,谢谢
答案 0 :(得分:0)
一种方法是:
class Class1 {
public:
Class1(string strings[][2], int size) {
this->strings = new string*[size];
for (int i = 0; i < size; i++) {
this->strings[i] = new string[2];
this->strings[i][0] = strings[i][0];
this->strings[i][1] = strings[i][1];
}
}
private:
string** strings;
};