Здравствуйте, oxid, Вы писали:
O>можно только указатель на структуру использовать?
Так точно, можно ещё ссылку, но это не очень понятно зачем
Ну и можно возвращать/передавать структуру из/в метод(ы/ов)
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re: Декларация переменной типа структуры в этой же структуре
Здравствуйте, oxid, Вы писали:
O>Здравствуйте, O>Подскажите пожалуйста как задекларировать переменную типа struct XX в структуре XX:
O>typedef struct tagXX O>{ O> int var1; O> XX var2;<---- Ошибка компилятора O>}XX;
O>Пробовал написать struct tagXX; перед определением структуры но не помогает, можно только указатель на структуру использовать?
Да, только указатель или ссылку. Но можно статическую переменную:
typedef struct tagXX
{
int var1;
static tagXX var2;
}XX;
C++ можно выучить за 21 день! ...если дни — полярные.
Re[2]: Декларация переменной типа структуры в этой же структ
Здравствуйте, __LP, Вы писали:
__L>Здравствуйте, oxid, Вы писали:
O>>Здравствуйте, O>>Подскажите пожалуйста как задекларировать переменную типа struct XX в структуре XX:
O>>typedef struct tagXX O>>{ O>> int var1; O>> XX var2;<---- Ошибка компилятора O>>}XX;
O>>Пробовал написать struct tagXX; перед определением структуры но не помогает, можно только указатель на структуру использовать? __L>Да, только указатель или ссылку. Но можно статическую переменную:
__L>
Спасибо, разобрался, переменную на структуру нельзя создать потому что не известен ее размер,
однако не понятно почему можно создать статическую переменную, разъясните если не затруднит.
Трудно быть богом(с) A.C. и Б.С.
Re[3]: Декларация переменной типа структуры в этой же структ
Здравствуйте, oxid, Вы писали:
O>Здравствуйте, __LP, Вы писали:
__L>>Здравствуйте, oxid, Вы писали:
O>>>Здравствуйте, O>>>Подскажите пожалуйста как задекларировать переменную типа struct XX в структуре XX:
O>>>typedef struct tagXX O>>>{ O>>> int var1; O>>> XX var2;<---- Ошибка компилятора O>>>}XX;
O>>>Пробовал написать struct tagXX; перед определением структуры но не помогает, можно только указатель на структуру использовать? __L>>Да, только указатель или ссылку. Но можно статическую переменную:
__L>>
O>Спасибо, разобрался, переменную на структуру нельзя создать потому что не известен ее размер, O>однако не понятно почему можно создать статическую переменную, разъясните если не затруднит.
Потому что статическая переменная хранится вне структуры и не влияет на ее размер. Поэтому компилятору посчитать размер структуры проблемы не представляет.
C++ можно выучить за 21 день! ...если дни — полярные.
Re: Декларация переменной типа структуры в этой же структуре
Да, будет. Предлагаю сделать вложенную структуру item, в которой будет храниться указатель item* вместе с дополнительной информацией (MessageType, szName и т.д.) как это делается в списках.
class command_info
{
struct item
{
item* next;
//... какие-то данные
//... имхо полезно будет определить конструкторы
};
item* pitem;
//...public:
command_info():pitem(new item()){...}
~command_info() {delete pitem;}
//...
};
Так будет удобней. Еще неплохо, ИМХО, убрать typedef и проверку на ноль перед delete.
C++ можно выучить за 21 день! ...если дни — полярные.