On 3/20/06, killy-kun <killy-kun / wanadoo.fr> wrote: > I would like to use the c++ string type as a parameter of function > return of some c++ functions used in a ruby module, made with swig. > > Here is a simple example I tried to use the string type : > > #----------------- > %module str > > %inline %{ > > // pour tester les string > > #include <string> > > using namespace std; > > string fctBidon (string s) > { > string res; > res = s + " salt bidon"; > return res; > } > > string bidon() > { > string res = "bouh"; > return res; > } > > %} > #----------------- > > But when I use it, here are the errors I get : > > #----------------- > [eurubyt:24] bidon > ==> #<SWIG::TYPE_p_string:0xb7f080e0> > [eurubyt:25] bidon.class > ==> SWIG::TYPE_p_string > [eurubyt:26] fctBidon("bb") > TypeError: in method 'fctBidon', argument 1 of type 'string' > from (irb):26:in `fctBidon' > from (irb):26 > #----------------- > > That means the c++ string type isn't considered as the ruby String class... > > Anybody knows how I can make this work ? I would like the c++ string > type to be considered as the ruby String class... There's an example that does this near the end of a presentation I gave. You can get a PDF of the presentation at http://groups.yahoo.com/group/stlruby/files/. Look for the file RubyTools.pdf. -- R. Mark Volkmann Object Computing, Inc.