Nodejs Addon - передача строки регулярного выражения в C++
Я пытаюсь выяснить, как создать регулярное выражение в C++. Я хочу превратить строку, переданную из JavaScript в C++, в регулярное выражение.
У меня есть это:
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);
кто-нибудь знает, как я могу объявить / создать regex
учитывая это v8::String
?
1 ответ
Я не уверен в этом, но, может быть, вы только что объявили регулярное выражение, но не инициализировали его? Вы пытались делать V8... regexin = new V8... (args...)
?