【发布时间】:2016-03-08 06:56:03
【问题描述】:
我想按照以下可变大小制作数组。
int buff_size = width*height*3;
unsigned char buffer[buff_size];
但我收到如下错误消息:
mfc_test5Dlg.cpp(418): error C2057: expected constant expression
如何制作可变大小的数组?
【问题讨论】:
-
除了你的错字,考虑到错误似乎不是主要问题,VLA 是 C99 功能而不是 C++ 功能some compiler support it as an extension 但不是 Visual Studio。
-
您的问题同时被 c 和 c++ 标记。在 C++ 中,您根本无法做到这一点。如果你修复语法错误,你可以在 c 中做到这一点
-
如果你想拥有一个动态大小的变量或数组,你可以使用“指针”和“内存分配”。进行一些搜索,您应该会找到示例。