0

I have a scenario as follows,

c++ class

// Forward declared
class B;


class A {
   public:
   A();
   ~A(){val.reset();}

   std::unique_ptr<B> val;
}  

cython

cdef cppclass A:
    A() except+

So, compiling this would gives error

/usr/include/c++/7/bits/unique_ptr.h:76:22: error: invalid application of ‘sizeof’ to incomplete type

and as per my knowledge this happens since there is no information about the class A destructor in cython definition and cython tends to use default destructor which and gets cornered because of unique_ptr with forward declared class.

Is there way to tackle this issue ?

0 Answers0