c++ - 静态数组定义错误c++

标签 c++

在带有函数参数的函数中声明静态数组时出错

 int fun(int x)
 {
      int a[x];  //No Error
      static int b[x];   //Error "storage size of x is not constant
      int *f = new int[x+1];  //NO ERROR--NEW OPERATOR USED TO DEFINE THE ARRAY
 }

为了声明数组“b”没有任何错误,应该在第 2 行中更改什么。

最佳答案

你的问题是你不能在没有初始化的情况下定义一个 const something 的数组,如果它是动态大小的,就没有办法初始化它!

关于c++ - 静态数组定义错误c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27731766/

相关文章:

c++ - 如何在 Visual Studio 中自动缩进#pragma 指令

c++ - va_arg 给出运行时错误

c++ - 如何在没有无限循环的情况下使用 CMake 的 add_subdirectory

c++ - 由于未分配正在释放的指针错误,对象的初始化 vector 失败

c++ - 从 opengl 中的模型获取可见的 XYZ 坐标和法线

c++ - 为什么编译器只向后查找类型和函数声明?

VBA 浮点差异中的 C++ .NET COM 组件

c++ - 使用 C++ 和 Windows API 的 udp 套接字

c++ - C++过滤器的使用方法

c++ - 如何在 C++ 中退出程序执行?