gpt4 book ai didi

visual-studio - constexpr C++11 代码适用于 g++ 4.8.2,但不适用于最新的 Visual Studio 2013 Update 3 CTP 2

转载 作者:行者123 更新时间:2023-12-02 09:37:11 26 4
gpt4 key购买 nike

包含如下所示语句的代码可以使用 g++.exe(x86_64-posix-seh-rev4,由 MinGW-W64 项目构建)4.8.2 正常编译,但不能使用最新的 Visual Studio 2013 Update 3 CTP 2 (12.0.306020.00 Update 3 CTP) 进行编译。

问题:我可能做错了什么,例如没有打开某些功能,或者最新的 Visual Studio 2013 不支持此类语句吗?该代码需要在 Visual Studio 下进行编译 - 关于如何解决此限制有什么建议吗?

namespace NA
{
namespace NB
{
class C1 : P1
{
static constexpr double one = 1.0;
static constexpr double two = one + one;
static constexpr float a_foo[][2] = { { 1.0, 1.1, 1.2 },
{ 2.0, 2.1, 2.2 } };

static constexpr int n_ele = 1024;
static constexpr int n_d = 128;
static constexpr int n_ape = n_ele -
n_d +
1;

std::vector< std::array< int, (int)n_ele >> ape
{
std::vector< std::array< int, (int)n_ele >>
( (int)n_ape, {{0}} )
};

std::array<
std::array< int, (int)n_d >,
(int)n_ape
> c_to_e = {{ std::array< int, (int)n_d >( {0} ) }};
}
}
}

最佳答案

根据这个blogC++11 constexpr 被列为部分,因为 VS 在成员函数上不支持它。

C++14 constexpr 支持位于单独的行中,其含义尚未实现。

所以我想,我们将不得不等待新版本,其中 constexpr 功能将被完全实现。

关于visual-studio - constexpr C++11 代码适用于 g++ 4.8.2,但不适用于最新的 Visual Studio 2013 Update 3 CTP 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24409765/

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