0

我注意到 G++ 编译器确实允许像这样初始化一个数组:

vector<vector<string> > partition(string s) {
    const int len = s.size();
    vector<vector<string> > subPalins[len+1] ;
    subPalins[0] = vector<vector<string> >();
    subPalins[0].push_back(vector<string>());
    bool isPalin[len][len];
...
    return subPalins[len];
}

数组 subPalins 的大小是 len,是一个常量变量。我记得不允许初始化可变大小的数组,因为数组的大小必须在编译时确定。虽然这里的 len 是一个常数,但它仍然是一个变量,我不明白为什么允许这样做。

4

0 回答 0