错误:“std::enable_if_t”尚未声明
error: ‘std::enable_if_t’ has not been declared
目前,我对这行代码有问题。它显示此错误消息error: ‘std::enable_if_t’ has not been declared
。我已经包含了#include <type_traits>
头文件,但它仍然是一样的。以下是我的 src 代码:
template<class T>
std::string toJSON(const T& o,std::enable_if_t<detail::hasBindFunction<T>::value>* =nullptr)
我已将 c++ 版本添加到我的 binding.gyp 文件中。 "cflags": [ "-std=c++14" ],
.仍然显示错误。
我可以知道如何解决此错误吗?
std::enable_if_t
是C++14功能,因此您需要在编译器中启用C++14。在Clang或GCC中,这是通过-std=c++14
标志完成的。
我在这里找到了这个
{
"targets": [
{
"target_name": "yourproject",
"sources": [ "yourproject.cpp" ],
"cflags" : [ "-std=c++14", "-stdlib=libc++" ]
"conditions": [
[ 'OS!="win"', {
"cflags+": [ "-std=c++14" ],
"cflags_c+": [ "-std=c++14" ],
"cflags_cc+": [ "-std=c++14" ],
}],
[ 'OS=="mac"', {
"xcode_settings": {
"OTHER_CPLUSPLUSFLAGS" : [ "-std=c++14", "-stdlib=libc++" ],
"OTHER_LDFLAGS": [ "-stdlib=libc++" ],
"MACOSX_DEPLOYMENT_TARGET": "10.7"
},
}],
],
}
]
}
相关文章:
- #ifdef和未声明的标识符
- 未声明的标识符编译暗黑破坏神 2 程序"muleview"
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- Google protobuf 时间戳未声明标识符,在 Windows 上具有C++
- 在气泡排序程序中未声明错误功能
- 我在范围内未声明的错误类有问题
- 使用未声明的标识符"sqrt"?
- 我包含了<winuser.h>,但编译器在MonitorFromWindow上抛出"未声明"
- 对类 (C++) 中的私有变量使用未声明的标识符
- 我的代码中有错误,未声明的标识符
- 未定义的标识符/未声明
- 错误:在 C++ 'std'使用未声明的标识符
- 在编译器之前检测未声明的标识符
- 使用未声明的标识符'temp'
- 使用未声明的标识符"yylex"和"yyin"?
- 使用"class"关键字,后跟未声明的标识符
- 未声明的标识符错误,但变量定义正确 (?)
- C2065 'cout':未声明的标识符
- 在此范围内未声明错误"Clreol"
- 稍后在程序中使用if-else构造内部声明的变量会导致未声明的标识符错误