मैं एक समारोह जो एक स्ट्रिंग में लेने के लिए और फिर इसे मेरी सी को पारित करने के ++ समारोह add_node()
कैसे v8 के स्थानीय करने के लिए std :: स्ट्रिंग परिवर्तित करने के लिए <string>
Handle<Value> Graph::add_node(const v8::Arguments& args)
{
HandleScope scope;
Graph* graph = ObjectWrap::Unwrap<Graph>(args.This());
graph->add_node(args[0]->ToString());
std::cout << "In add node \n";
}
हालांकि मैं सभी क्योंकि समस्या हो रही है जाहिर है है मेरे तर्कों में से कुछ प्रकार के वी 8 मंदिर हैं या मैं समझ नहीं पा रहा हूं कि दोनों के बीच कैसे स्विच करें। documentation इसे स्पष्ट रूप से भी नहीं बताता है।
संकलक मुझे इस त्रुटि
../graph/binding.cc:52:10: error: no matching member function for call to
'add_node'
graph->add_node(args[0]->ToString());
~~~~~~~^~~~~~~~
../graph/directed_graph.h:27:7: note: candidate function not viable: no known
conversion from 'Local<v8::String>' to 'std::string &' (aka
'basic_string<char> &') for 1st argument;
void add_node(std::string & currency);
मैं Local<v8::String>
और std::string &
के बीच कैसे स्विच कर सकते हैं दे रहा है?
v8 के बाद के संस्करणों को थोड़ा अलग दृष्टिकोण की आवश्यकता है: '' 'स्ट्रिंग :: न्यूफ्रॉमयूटीएफ 8 (पृथक, कुछ.c_str())' '' – Richard