gpt4 book ai didi

c - 有没有办法在 microsoft Visual Studio 中启用对 C99 可变长度数组的支持。如果否,最好的选择是什么?

转载 作者:行者123 更新时间:2023-11-30 16:07:08 25 4
gpt4 key购买 nike

以下代码无法编译。它给了我一个错误“期望大小恒定”。是否有任何方法或添加编译器标志或预处理器指令,以启用对 C99 功能(例如 VLA)的支持。

#include "Window.h"
#include <stdio.h>

int main( int argc, char** argv)
{
const int size = 1024 ;
char filename[size];
}

最佳答案

正如评论中已经概述的那样,您使用 C+MSVC 的(明显)选项是:

  1. 宏(不再需要时可以#undef)
  2. alloca(显示 here ),在堆栈上分配,不需要显式释放;您可以将其包装在宏中以实现方便的“创建 Y 的 X 大小的数组”伪函数

正如它was answered在现已失效的 Microsoft Connect 上,MSVC 本身不支持 C99 VLA,从那时起这一点可能就没有改变。

关于c - 有没有办法在 microsoft Visual Studio 中启用对 C99 可变长度数组的支持。如果否,最好的选择是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59767223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com