Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[44.192.95.161] |
|
Сообщ.
#1
,
|
|
|
class aq; // class a: aq{};//ошибка почему-то aq d;//error aq* l;//ok class aq { public: }; получается можно писать aq* d; aq d;- error а как о этого класса aq тогда наследоваться? |
Сообщ.
#2
,
|
|
|
Ну очевидно добавить definition для aq. Как ты собираешься наследоваться от класса без дефиниции то ?
|
Сообщ.
#3
,
|
|
|
Цитата maxutov @ получается можно писать aq* d; Это "указатель на что-то" - размер указателя компилятор определить может, поэтому создать "d" не проблема. Цитата maxutov @ aq d;- error Это "экземпляр чего-то" - для создания "d" надо знать что такое "aq", иначе компилятор не сможет ни зарезервировать необходимый кусок памяти, ни провести необходимую инициализацию, ни даже понять это плоский POD (где достаточно просто выделить память необходимого размера) или же сложный класс с вложенными сущностями, которые тоже надо будет инициализировать в соответствии с их конструкторами/наследованием/etc. |