I changed string to basic_string.

///  source/main.d
import std.stdio;
import core.stdcpp.string;

extern(C++)
{
    class Canvas
    {
        @disable this();

        static Canvas Create();

        basic_string!ubyte Foo();

        basic_string!ubyte Bar();
    };
}

void main()
{
        Canvas canvas = Canvas.Create();

        writeln(canvas.Foo());

        writeln(canvas.Bar());
}

Error ...

# dmd source/main.d Canvas.o -L-lstdc++ && ./main
[1]    49078 segmentation fault  ./main

Reply via email to