c++ - 数组中可变大小对象可能无法初始化的问题

标签 c++ c++11

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

int main()
{
    int n=0;
    n=1;
    int a[n]={}, b[n]={};
    return 0;
}

最佳答案

数组长度必须在编译时已知。 要么

int a[1];

constexpr int n = 1;
int a[n];

否则,您需要一个动态数组,例如 std 容器 std::vector。

关于c++ - 数组中可变大小对象可能无法初始化的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61409070/

相关文章:

c++ - html2文本库

c++ - 从 std::thread::id 结构中检索 Windows 线程标识符

c++ - 如何在 C++ 中创建数据类型未知的模板类

c++ - 在 Qt 中创建目录的哈希值

c++ - 我还需要什么来使用可变参数模板继承来创建 lambda 重载?

C++11 虚拟拷贝构造函数

c++ - vector 类型 String 但当用整数初始化时

c++ - 如果未明确说明大小信息,模板函数如何知道大小?

c++ - 从模板中使用的结构类型中查找类型(可能是底层的)

c++ - QWebview:关闭在QWebview qt加载图片