64,849
社区成员
![](https://csdnimg.cn/release/cmsfe/public/img/topic.427195d5.png)
![](https://csdnimg.cn/release/cmsfe/public/img/me.40a70ab0.png)
![](https://csdnimg.cn/release/cmsfe/public/img/task.87b52881.png)
![](https://csdnimg.cn/release/cmsfe/public/img/share-circle.3e0b7822.png)
adoptopenjdk-jdk8u265-b01/include/jni.h
有如下定义
typedef struct JavaVMOption {
char *optionString;
void *extraInfo;
} JavaVMOption;
然后如下代码竟然编译通过?
std::list<std::string> lstParams;
// dosomething about lstParams
const int numArgs = lstParams.size();
JavaVMOption options[numArgs];
但如下写法在VS2019下编译报错
const int numArgs = lstParams.size();
JavaVMOption v[numArgs];
error C2131: 表达式的计算结果不是常数
编译器需要支持C99才可使用VLA~