为什么添加constexpr使VS2013拒绝这一点

Why does adding constexpr make VS2013 reject this?

本文关键字:拒绝 这一点 VS2013 添加 constexpr 为什么      更新时间:2023-10-16

此代码在Visual Studio 2013中不编译

template <typename X> 
constexpr //error C2144: syntax error : 'bool' should be preceded by ';'
bool Test(X x)
{
    return true;
}

但是,如果我删除constexpr关键字,则确实编译了。

但是constexpr不应该有问题吗?由于它总是返回true。

出了什么问题?

尽管名称为2013年,VS2013并不是针对C 11标准的编译器(这是在引入constexpr时)。

对于C 11编译器,__cplusplus的值将为201103L

因此,您的编译器遇到一个令牌,它无法识别,并发出诊断。

相关文章: