[Issue 15626] extern(C++) calling crash
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Sat Jan 30 00:15:06 PST 2016
https://issues.dlang.org/show_bug.cgi?id=15626
--- Comment #2 from Walter Bright <bugzilla at digitalmars.com> ---
Stripping away the unnecessary template and complex names:
---------- D -----------------
extern(C++)
{
class C { }
interface I
{
void f();
}
abstract class Base : I
{
int instance;
}
void test(Base b)
{
b.f();
}
void mainx();
}
int main()
{
mainx();
return 0;
}
------------- C++ ------------
#include <stdio.h>
class C { };
class I
{
virtual void f() = 0;
};
class Base : public I
{
public:
int pInstance;
Base() { pInstance = 0xBAADF00D; }
};
class Derived : public Base
{
public:
void f() { printf("!!"); }
};
void test(Base *b);
void mainx()
{
Derived *d = new Derived;
test(d);
}
--
More information about the Digitalmars-d-bugs
mailing list