Interfacing with basic C++ class
Ali Çehreli
acehreli at yahoo.com
Wed Sep 28 20:41:13 UTC 2022
On 9/28/22 12:57, Riccardo M wrote:
> class MyClass {
> public:
> int field;
> MyClass(int a) : field(a) {}
Make the following function 'virtual':
> int add(int asd) {
virtual int add(int asd) {
I think the C++ class does not get a vptr without a virtual function and
apparently D expects this.
> final int add(int asd);
You don't need that 'final' anymore.
> This is a very simplified version of the dlang official example of
> interfacing with C++ classes.
The example there uses virtual functions. That must be the difference.
> I need to declare every class method as
> "final" otherwise I get undefined references during linking. Is this
> expected behaviour?
Apparently, not with that added 'virtual'.
Ali
More information about the Digitalmars-d-learn
mailing list