gpt4 book ai didi

c++ - 在 visual studio 2015 cmake 中启用 c++14

转载 作者:行者123 更新时间:2023-11-27 23:58:22 24 4
gpt4 key购买 nike

我想在堆栈上有一个动态大小的数组。我有以下代码

int length = 0;
getLength(&someVar, &length);

char infoLog[length];

可是我做不到。我最初是在 macOS 上开发代码的,编译它没有问题。我做了一些研究,发现 c++14 支持这个,但我不确定如何在 CMake(或 VS2015 社区版)中打开它。

谢谢

编辑:正如 drescherjm 所展示的那样,它实际上并未添加到规范中。按照下面的答案做了。

最佳答案

不,C++14 不支持它。

尝试使用动态容器:

std::vector<char> infoLog(length);

如果您不想在创建后调整大小(因为 VLA 不允许),那么

auto infoLog = std::make_unique<char[]>(length);

两者都将使用堆空间来存储内容,并在变量 infoLog 离开范围时自动释放它。

关于c++ - 在 visual studio 2015 cmake 中启用 c++14,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40920790/

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