MSVC 2017 支持 std::any 吗?

Posted

技术标签:

【中文标题】MSVC 2017 支持 std::any 吗?【英文标题】:Is std::any supported in MSVC 2017? 【发布时间】:2018-04-12 05:55:55 【问题描述】:

我尝试编译一段代码:

cl /c /std:c++latest /Gm- /sdl /Zc:inline /RTC1 /Oy /MDd /FA /EHs main.cxx

但我收到此错误:

error C2039: 'any': is not a member of 'std'

我想知道(如果可能的话)我怎样才能拥有这个功能。我在他们的网站上没有看到任何关于它的信息,但知道他们需要多少时间来更新它们也许可以完成

【问题讨论】:

也许是std::experimental::any?还是使用Boost any? 您是否添加了<any> 以查看它是否有效? 我想我不必这样做,但我想 std 应该把它送人 我可以看到here 它是受支持的。 【参考方案1】:

是的,<any> 随 VS 2017 的每个版本一起提供。

【讨论】:

【参考方案2】:

可以,但必须确保使用正确的 c++ 版本。

右键单击项目并在Properties->C/C++->Language->C++ Language Standard 下确保将其设置为正确的。

【讨论】:

以上是关于MSVC 2017 支持 std::any 吗?的主要内容,如果未能解决你的问题,请参考以下文章

获取 std::any 的大小

为啥在 dlopen'd 函数中传递的 std::any 的 std::any_cast 会引发错误

std::any 由 std::exception_ptr

这是 MSVC++ 2017 更新 3 中的编译器错误吗

`std::any_cast` 返回一个副本

是否可以将两个任意函数与 C++17 中的 std::any 进行比较?