How to call a extern C++ class constructor ?
Ferhat Kurtulmuş
aferust at gmail.com
Sat Feb 1 10:30:26 UTC 2020
On Saturday, 1 February 2020 at 10:21:54 UTC, norm wrote:
> On Saturday, 1 February 2020 at 08:38:22 UTC, Luhrel wrote:
>> On Saturday, 1 February 2020 at 08:32:51 UTC, Ferhat Kurtulmuş
>> wrote:
>>> On Saturday, 1 February 2020 at 08:27:07 UTC, Luhrel wrote:
>>>> On Saturday, 1 February 2020 at 08:21:29 UTC, Ferhat
>>>> Kurtulmuş wrote:
>>>>> [...]
>>>>
>>>> Oh I see, so there's definitively no way to call a c++ ctor
>>>> without modifying the c++ code ?
>>>
>>> İf you are not allowed to modify that c++ code, you can write
>>> a createInstance function in your custom cpp file.
>>
>> That was my fear.
>
> It isn't too bad, you need a simple wedge written in C++ that
> returns an instance of any T you want. A simple template
> function usually works, or to make it more generic you can use
> a variadic template to handle N args, but I find variadic
> templates in C++ are still annoying to use.
And do not forget to write a void cppDestroy(T instance) function
that runs delete instance in c++ so that you can call it from D
code.
void cppDestroy(T instance)
More information about the Digitalmars-d-learn
mailing list