На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
  
> forward declaration class
    ExpandedWrap disabled
      class aq;
       
      //
       
      class a: aq{};//ошибка почему-то
       
      aq d;//error
       
      aq* l;//ok
       
      class aq
      {
      public:
      };



    получается можно писать aq* d;
    aq d;- error

    а как о этого класса aq тогда наследоваться?
    Сообщение отредактировано: maxutov -
      Ну очевидно добавить definition для aq. Как ты собираешься наследоваться от класса без дефиниции то ?
        Цитата maxutov @
        получается можно писать aq* d;


        Это "указатель на что-то" - размер указателя компилятор определить может, поэтому создать "d" не проблема.


        Цитата maxutov @
        aq d;- error


        Это "экземпляр чего-то" - для создания "d" надо знать что такое "aq", иначе компилятор не сможет ни зарезервировать необходимый кусок памяти, ни провести необходимую инициализацию, ни даже понять это плоский POD (где достаточно просто выделить память необходимого размера) или же сложный класс с вложенными сущностями, которые тоже надо будет инициализировать в соответствии с их конструкторами/наследованием/etc.
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0207 ]   [ 16 queries used ]   [ Generated: 27.04.24, 10:12 GMT ]