gpt4 book ai didi

c++ - C++20 的奇怪返回值需要表达式

转载 作者:行者123 更新时间:2023-12-03 13:38:47 24 4
gpt4 key购买 nike

考虑 requires 表达式:

constexpr auto b = requires { []{}; };
海合会 pass以下两个 static_assert :
 static_assert(b);
static_assert(!b);
这看起来非常奇怪。我期望 b 的值应该是 true .这只是一个 GCC 错误吗?

最佳答案

这不是薛定谔的要求:b显然应该是 truefalse .
这里的要求:

constexpr auto b = requires { []{}; };
是一个简单的需求。我们只是检查表达式 []{} 是否是一个有效的表达式。而且……是!所以 b应该是真的。这是一个 gcc 错误( StoryTeller's example 更是如此,这表明在略有不同的拼写中 b 甚至不能算作常量表达式)。

关于c++ - C++20 的奇怪返回值需要表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66578966/

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