Why can't structs be derived from?

Steven Schveighoffer schveiguy at yahoo.com
Tue Mar 15 06:33:27 PDT 2011


On Tue, 15 Mar 2011 09:28:50 -0400, dsimcha <dsimcha at yahoo.com> wrote:

> On 3/15/2011 9:25 AM, Jens wrote:
>> It seems rather fundamental to be able to compose a new struct from a
>> given struct using inheritance. Why is this not allowed?
>>
>> struct slist_node
>> {
>>      slist_node* next;
>> };
>>
>> template<class T>
>> struct slist_node<T>: public slist_node
>> {
>>      T data;
>> };
>>
>>
>
> Something that has basically that effect is allowed, just not with that  
> syntax:
>
> struct slist_node(T)
> {
>      slist_node base;
>      alias base this;
>
>      T data;
> }

Wow, I find it strange that we came up with the almost the same code ;)

-Steve


More information about the Digitalmars-d mailing list