Nodejs Addon – 将正则expression式string传递给C ++

我想弄清楚如何在C ++中创build一个正则expression式。 我想将从JavaScript传递到C ++的string转换为正则expression式。

我有这个:

std::regex re; if (!args[1]->IsString()) { Nan::ThrowTypeError("Second argument to 'replace-line' must be a string regular expression."); return; } else{ v8::String::Utf8Value regexin(args[1]->ToString()); re(*regexin); } 

但是这个编译失败,出现这个错误:

 ../hello.cpp: In function 'void Method(const v8::FunctionCallbackInfo<v8::Value>&)': ../hello.cpp:50:16: error: no match for call to '(regex_t {aka re_pattern_buffer}) (char*)' re(*regexin); 

任何人都知道我可以声明/创build一个regex给这个v8::String

我不知道这个,但也许你刚刚宣布regexin,但没有初始化呢? 你有没有尝试过V8... regexin = new V8... (args...)