我一直在使用PerlXS來編寫圍繞C++對象的perl包裝器。通常我的fcn需要一個字符串/ int等,我可以讓他們沒有問題。我只是在.xs文件中寫這樣的代碼如何使用PERL XS調用STL中的C++函數向量
MyClass::func_a(std::string a, int b);
這次;我有一個需要有一個函數,它在STL的vector
MyClass::func_a(std::vector<std::string> vector)
我得到這個錯誤:
conversion from `SV*' to non-scalar type
`std::vector<std::string, std::allocator<std::string> >'
tsee,並XS ++自動與複雜的STL結構的工作,像串 – osgx 2010-12-19 16:51:56
號的矢量但有可用的一些可重複使用的typemaps在CPAN上。請參閱ExtUtils :: Typemap和ExtUtils :: Typemap :: STL及其同級。具體來說,支持字符串的向量。它沒有做的是自動遞歸映射。即「我知道媒介如何工作以及字符串是如何工作的,這意味着我也知道字符串媒介向量的運作方式。」 – tsee 2010-12-19 22:20:22