PDA

Показать полную графическую версию : *Теория* | Tree via c++


pva
27-04-2005, 13:00
Обнаружил прикольную вещь:

struct node {
string name;
list<node> kids;
};

Прекрасно компилируется и вполне адекватно работает. Меня это сильно удивило, т.к. я изначально пользовался билдером (4), который на это ругается. В gcc и msl - никаких проблем.
1. Стандарт C++ это позволяет? (использование в шаблоне класса, неизвестного заранее).
2. Можно ли адаптировать это к билдеру? (хотя этот вопрос для меня уже мало актуален)

hasherfrog
28-04-2005, 21:41
Секундочку. Я могу не очень правильно объяснить теорию, но на практике это вот как выглядело всегда:


struct PRE_type {
// bla-bla-bla
// ...
PRE_type *pa; //<- можно
PRE_type a; //<- нельзя
};

typedef struct xPRE_type {
// bla-bla-bla
// ...
xPRE_type a; //<- нельзя
xPRE_type *a1; //<- можно
xT_type b; //<- нельзя
xT_type *b1; //<- нельзя
} xT_type;

pva
04-05-2005, 13:34
А можно ли внутри PRE_type написать:

vector<PRE_type> pre_vector;




© OSzone.net 2001-2012