vs下编译没有问题,g++下提示错误(pdfium)
#include <iostream>
namespace v8 {
namespace internal {
enum FunctionKind {
kNormalFunction = 0,
kArrowFunction = 1,
kGeneratorFunction = 2,
kConciseMethod = 4,
kConciseGeneratorMethod = kGeneratorFunction | kConciseMethod,
kDefaultConstructor = 8,
kDefaultConstructorCallSuper = 16
};
inline bool IsValidFunctionKind(FunctionKind kind) {
return kind == FunctionKind::kNormalFunction ||
kind == FunctionKind::kArrowFunction ||
kind == FunctionKind::kGeneratorFunction ||
kind == FunctionKind::kConciseMethod ||
kind == FunctionKind::kConciseGeneratorMethod ||
kind == FunctionKind::kDefaultConstructor ||
kind == FunctionKind::kDefaultConstructorCallSuper;
}
inline bool IsArrowFunction(FunctionKind kind) {
return kind & FunctionKind::kArrowFunction;
}
inline bool IsGeneratorFunction(FunctionKind kind) {
return kind & FunctionKind::kGeneratorFunction;
}
inline bool IsConciseMethod(FunctionKind kind) {
return kind & FunctionKind::kConciseMethod;
}
inline bool IsDefaultConstructor(FunctionKind kind) {
return kind & FunctionKind::kDefaultConstructor;
}
inline bool IsDefaultConstructorCallSuper(FunctionKind kind) {
return kind & FunctionKind::kDefaultConstructorCallSuper;
}
}
}
namespace i = v8::internal;
int main()
{
std::cout << "Hello World!\n";
system("PAUSE");
}

编译器差异,直接if(x == F)就行了
转换为问题: linux g++编译器处理枚举类型的问题
浙公网安备 33010602011771号