> Here is the full compiling cpp code:
> 
> #include <string>
> #include <emscripten/bind.h>
> #include <emscripten/val.h>
> 
> class Foo
> {
>   public:
>       Foo(const char* a, const char* b, const char* c)
>       {
>          m_a = std::string(a);
>          m_b = std::string(b);
>          m_c = std::string(c);
>       }
> 
>   private:
>       std::string m_a;
>       std::string m_b;
>       std::string m_c;
> };
> 
> 
> EMSCRIPTEN_BINDINGS(FooTest)
> {
>     emscripten::class_<Foo>("Foo").
>     constructor<const char*, const char*, const char*>();
> }
> 
> ב-יום שני, 7 באוגוסט 2023 בשעה 08:03:35 UTC+3, Shlomi Fish כתב/ה:

Is this supposed to be called from JS? If so, how can you provide char pointers 
for the constructor, given that you only have JS strings?

Instead use std::string for the constructor. If you cannot change that write a 
helper class which takes strings and passes the data() pointer along to the 
inherited c-tor. Alternatively, you can write a constructor factory method, 
known as external constructor 
(https://emscripten.org/docs/porting/connecting_cpp_and_javascript/embind.html#external-constructors).

Mike
-- 
www.soft-gems.net

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to emscripten-discuss+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/emscripten-discuss/9AE2E2FB-6CFA-47A4-8166-2E615D5ED66E%40googlemail.com.

Reply via email to