LINUX.ORG.RU

История изменений

Исправление nanoolinux, (текущая версия) :

~ioid()
delete msgbuf
выдает ошибку на delete.

ссзб. надо так:

template <typename T>
class ioid
{
  std::unique_ptr <T []> msgbuf_ref;
  T *msgbuf;
  size_t msglen;
  

  public:
    ioid() : msgbuf_ref(), msgbuf(msgbuf_ref.get()), msglen(0) {}
    void resize_msg_naprimer(size_t t) {
       msgbuf_ref.reset(new T [t]);
       msgbuf = msgbuf_ref.get();
       msglen = t;
    }
};

делиты не нужны. деструкторы здесь тоже.

Исходная версия nanoolinux, :

~ioid()
delete msgbuf
выдает ошибку на delete.

ссзб. надо так:

template <typename T>
class ioid
{
  std::unique_ptr <T []> msgbuf_ref;
  T *msgbuf;
  size_t msglen;
  

  public:
    ioid() : msgbuf_ref(), msgbuf(msgbuf_ref.get(), msglen(0) {}
    void resize_msg_naprimer(size_t t) {
       msgbuf_ref.reset(new T [t]);
       msgbuf = msgbuf_ref.get();
       msglen = t;
    }
};

делиты не нужны. деструкторы здесь тоже.