1

std::stringC++オブジェクトを Rubyオブジェクトに変換するにはどうすればよいVALUEですか?

試してみrb_str_new2(c_string)ましたが、うまくいきませんでした。

私には機能があります

VALUE foo(){return rb_str_new2(c_string);};

エラーメッセージが表示されます:

cannot convert ‘std::string {aka std::basic_string<char>}’ to ‘const char*’ for argument ‘1’ to ‘size_t strlen(const char*)’
4

1 に答える 1

4

関数に渡しstd::stringていますが、null で終了する必要がありますconst char *

std::string::c_str()メンバー関数を使用して取得できます。

rb_str_new_cstr(string.c_str());
于 2012-04-18T15:36:07.977 に答える