On 05/14/2014 04:15 AM, Yuriy wrote:
> On Wednesday, 14 May 2014 at 10:21:00 UTC, Dejan Lekic wrote:
>> that should not compile at all. Perhaps you thought extern(C++)
>> interface MyClass(T) ?
> Ok, how about this one?
> http://dpaste.dzfl.pl/04655ff6ddfd
> It doesn't compile either.

extern(C++) interface I
{
    string hi();
}

extern(C++) class A(T) : I
{
    override string hi()
    {
        return "asdf";
    }
}

void main()
{
    A!string a;
}

/d208/f532.d(9): Error: class f532.A!(string).A cannot create C++ classes /d208/f532.d(19): Error: template instance f532.A!(string) error instantiating

Yeah, that is a documented limitation when using C++ code. C++ templates cannot be used in D. "C++ Templates" here:

  http://dlang.org/cpp_interface.html

Ali

Reply via email to