2017-01-03 4 views
1

C++で正規表現を作成する方法を理解しようとしています。 JavaScriptからC++に渡された文字列を正規表現に変換したいNodej Addon - 正規表現の文字列を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); 

誰もが、私は宣言することができる方法を知っている/このv8::Stringを与えregex作成

私はこれを持っていますか?

+1

私のためにコンパイルします(ノード7.0.0、cmake-js 3.3.1)。また、 'regexin(val.As () - > GetSource())'は多分表現力があります – pergy

答えて

1

私はこれについてはわかりませんが、おそらくあなたはregexinを宣言しましたが、初期化していない可能性がありますか? V8... regexin = new V8... (args...)をやってみましたか?