我决定全力以赴,在我正在启动的库中使用C++20的概念。
我在GCC主干上测试了以下代码,它运行得很好,但在启用C++20的MSVC 16.5.4上失败了。这个功能是不是没有得到标准的确认,是不是还没有实现,或者我的版本已经过时>
谢谢!
#include <concepts>
void myFunc(std::integral auto value)
{
value += 1;
}
int main()
{
myFunc(1);
return 0;
}
MSVC的编译器从19.28起不支持受约束的auto。
活生生的例子。
请注意,编译器版本独立于MSVC套件版本。编译器的主要版本表示ABI发生了更改,次要版本表示有所改进。套件版本更倾向于市场化发布。
受限的auto确实使其成为标准(不是主要来源,但99.9%可靠(。