c++ - 为什么 constexpr 不能应用于构造函数?

标签 c++ visual-c++ c++11 language-features c++14

为什么 constexpr 不能应用于构造函数?

以下代码不能用VC++ 2013 CTP编译。

struct A
{
    constexpr A()
        : _n(5)
    {}

    int _n;
};

constexpr A f()
{
    return A();
}

int main()
{
    auto a = f();
}

error C3757: 'A': type not allowed for 'constexpr' function

最佳答案

VC 2013 尚不支持所有 C++11 功能。看 MSDN list .

关于c++ - 为什么 constexpr 不能应用于构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21878345/

相关文章:

c++ - 关于我应该为 Visual Studio 和 Eclipse 使用什么单元测试框架的任何想法(红色代码)

c++ - 使用 push_back 时,std::unique_ptr 是否移入了 std::vector?

C++ 11 正则表达式堆栈溢出/VS2012

c++ - 卡在 boost 邻接列表清除

c++ - std::function、Clang 6.0 和 MSVC (10.0017134.12) - 可能的 ABI 错误或所需的编译器标志

c++ - 将通过引用传递的两个字符转换为字符串?

c++ - OpenCV 3.0 + Visual Studio 内存泄漏检测器 "false"正

multithreading - 在C++ 11中从外部终止线程

c++ - pugixml 与 tinyxml

c++ - 在 _USE_32BIT_TIME_T 上使用 C++11 的计时