C ++可变大小的对象可能未初始化数组中的问题

当我尝试运行此简单代码时,它返回一个可变大小的对象,可能未初始化错误。我不知道为什么以及如何解决这个问题。请帮忙。

using namespace std;
int main(int argc, const char * argv[]) {
    // insert code here...
    int n=0;
    n=1;
    int a[n]={}, b[n]={};
    return 0;
}
评论
  • ket
    ket 回复

    You can initialize your array properly with the std::fill_n like:

    std::fill_n(a, n, 0);
    std::fill_n(b, n, 0);