目前,我遇到了这行代码的问题。它显示此错误消息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" ],
。仍有错误显示在那里。
我可以知道如何修复此错误。
答案 0 :(得分:5)
std::enable_if_t
是C ++ 14的一个特性,因此您需要在编译器中启用C ++ 14。在Clang或GCC中,这是通过-std=c++14
标志完成的。
答案 1 :(得分:0)
我发现了here
{
"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"
},
}],
],
}
]
}