【发布时间】:2012-04-18 15:20:49
【问题描述】:
如何将 C++ std::string 对象转换为 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*)’
【问题讨论】:
-
怎么没用?你的代码是什么?
-
rb_str_new2(string_object.c_str());应该可以轻松完成这项工作。
-
如果你的变量不是 C 字符串,为什么要调用你的变量
c_string? oO -
@Matheus,Jakub 感谢您的帮助。
标签: c++ ruby ruby-1.9.3 ruby-c-extension