繁体   English   中英

在Visual Studio 2015 cmake中启用C ++ 14

[英]Enable c++14 in visual studio 2015 cmake

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

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离开作用域时自动释放它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM