On Monday, 28 July 2025 at 18:02:45 UTC, H. S. Teoh wrote:
On Sun, Jul 27, 2025 at 05:02:35PM +0000, user1234 via Digitalmars-d-learn wrote: [...]
Simply because because if OP writes

```
class Person{
    string name;
    this(string name){this.name=name;}
}
class Someone:Person{
}
void main(){
    Someone x=new Someone("Bob");
}
```

then he gets rewarded with

> Error: class `Someone` cannot implicitly generate a default > constructor when base class `Person` is missing a default > constructor

Oh I see.  So just write a forwarding ctor:

```
class Someone : Person {
        this(string name) { super(name); }
        ...
}
```

Or use the mixin template I wrote in the other thread to auto-generate forwarding ctors, if you have many subclasses that need forwarding.


T
Thank you very much.
As "user1234" said, I just wanted to inheritance the constructor method in the baseclass. I have already tried your way to solve the problem,it could work. But I still want to know why my code could raise an error.And what's your mixin-template? Would you be so kind to show me this template? I would be grateful if you can share it.

Reply via email to