我正在使用C++ Shell在线进行编译。
在我的一个程序中,我必须使用std::any
。我不知道std::any
的其他替代方法,因此我决定使用它。
C ++ Shell似乎找不到any.h
和std::any
。我该怎么办?
代码:
#include <any>
// Class creation, functions etc...
void CallIfFunction(std::any variable) {
(void)variable;
}
答案 0 :(得分:1)
CPP.sh 不不支持C ++ 17(唯一可用的选项是98、11、14)。尝试使用以下代码进行编译:
#if __cplusplus == 201703L
#warning this is C++17
#else
#error this is NOT C++17
#endif
您会收到此错误:
4:2:错误:
#error this is NOT C++17
std::any
是C ++ 17的一项功能,仅在您的编译器符合C ++ 17的情况下可用。