constexpr not compiling in VC2013(constexpr 未在 VC2013 中编译)
问题描述
此 constexpr 代码未在 Visual Studio 2013 版本 12.0.21005.1 REL 中编译
This constexpr code does not compiled in Visual Studio 2013 version 12.0.21005.1 REL
是否有更新的 Visual Studio 编译器可以与 constexpr 配合使用?
Is there a newer Visual Studio compiler that works with constexpr?
#include <iostream>
constexpr int factorial(int n)
{
return n <= 1 ? 1 : (n * factorial(n - 1));
}
int main(void)
{
const int fact_three = factorial(3);
std::cout << fact_three << std::endl;
return 0;
}
编译输出:
1>------ Build started: Project: Project1, Configuration: Debug Win32 ------
1> Source.cpp
1>....source.cpp(3): error C2144: syntax error : 'int' should be preceded by ';'
1>....source.cpp(3): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Herb Sutter 在他的博客上提到了 constexpr,但不清楚它在哪个版本中有效/将有效?http://herbsutter.com/2013/09/09/visual-studio-2013-rc-is-now-available/#comment-13521
Herb Sutter mentions constexpr on his blog but is unclear in what version it works / will work? http://herbsutter.com/2013/09/09/visual-studio-2013-rc-is-now-available/#comment-13521
推荐答案
微软发布了C++11兼容性表,其中constexpr
为明确标记为在 Visual Studio 2013 中不可用.
Microsoft publishes a C++11 compatibility table, under which constexpr
is clearly marked as not being available in Visual Studio 2013.
2013 年 11 月的 CTP 已经有了.
来源: Google visual studio constexpr
Source: Google visual studio constexpr
这篇关于constexpr 未在 VC2013 中编译的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:constexpr 未在 VC2013 中编译
基础教程推荐
- 管理共享内存应该分配多少内存?(助推) 2022-12-07
- 从 std::cin 读取密码 2021-01-01
- Windows Media Foundation 录制音频 2021-01-01
- 如何“在 Finder 中显示"或“在资源管理器中显 2021-01-01
- 为 C/C++ 中的项目的 makefile 生成依赖项 2022-01-01
- 为什么语句不能出现在命名空间范围内? 2021-01-01
- 在 C++ 中循环遍历所有 Lua 全局变量 2021-01-01
- 如何在不破坏 vtbl 的情况下做相当于 memset(this, ...) 的操作? 2022-01-01
- 如何使图像调整大小以在 Qt 中缩放? 2021-01-01
- 使用从字符串中提取的参数调用函数 2022-01-01