У меня есть функция, которая может взять строку, а затем передать ее моей c++ функции add_node()
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";
}
Однако у меня возникают проблемы, потому что все мои аргументы являются тем или иным способом, которые я могу использовать, и я не могу понять, как переключаться между ними. В документации также не говорится об этом.
Компилятор дает мне эту ошибку
../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 &
?