Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

MC++ деструктор value class

842
15 марта 2009 года
sigmov
301 / / 16.09.2008
Help!
Есть value class
Код:
generic<typename T>
        public value struct pArr
        {
        internal:
            void* Pointer;
            int m;
        public:
            pArr(void* pointer, int m)  {   this->Pointer=pointer;  this->m=m;  return; }
            //~pArr(void)                   {   this->!pArr();          return; }
            //!pArr(void)                   {   free(this->Pointer);    return; }
            __inline static explicit operator void*     (pArr Ptr)  {   return Ptr.Pointer;     }
            __inline static explicit operator IntPtr    (pArr Ptr)  {   return (IntPtr)Ptr.Pointer;}
        };

И для него требуется описать деструктор.
Но компилятор ругается и говорит, что деструктор можно описать только для ref class.

Что делать?
5
15 марта 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: sigmov
Есть value class

Гммм а написано value struct.

842
16 марта 2009 года
sigmov
301 / / 16.09.2008
Цитата: hardcase
Гммм а написано value struct.


В MC++ это без разницы -
(value struct~value class)
(ref srtruct~ref class)
отличаются только достпом(public/private) по умолчанию....

341
16 марта 2009 года
Der Meister
874 / / 21.12.2007
Деструкторы и файналайзеры не могут быть объявлены внутри интерфейса или значащего типа.
Не ясно, зачем вам вообще нужен этот тип, если вы намерены раздавать неуправляемые указатели на инкапсулируемые им данные.
842
16 марта 2009 года
sigmov
301 / / 16.09.2008
Цитата: Der Meister
Деструкторы и файналайзеры не могут быть объявлены внутри интерфейса или значащего типа.


Да..... Я уже много инфы про это нашел.
А как-нибудь обусловить уничтожение данного объекта нельзя? - просто нужно осбодить память при уничтожении....

Цитата: Der Meister
Не ясно, зачем вам вообще нужен этот тип, если вы намерены раздавать неуправляемые указатели на инкапсулируемые им данные.


Чтоб не париться с Marhal::FreeHGAlloc(...)
В принципе я уже объявил данный тип как класс, но это в 3 раза снизило скорость работы с ним....

341
16 марта 2009 года
Der Meister
874 / / 21.12.2007
Цитата: sigmov
Чтоб не париться с Marhal::FreeHGAlloc(...)

Можно поподробнее о решаемой задаче?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог