Why can't structs be derived from?

dsimcha dsimcha at yahoo.com
Tue Mar 15 06:28:50 PDT 2011


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;
}


More information about the Digitalmars-d mailing list