Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема при объявлении типа с boost::unique_ptr 
V
    Опции темы
EvilsInterrupt
Дата 25.10.2012, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: нет
Всего: 9



Используется boost 1.51 и MSVS 2008.

При объявлении своего указателя на свой тип получаю ошибки компиляции.

Вот ошибки:
Цитата

3>e:\projects\importdetails\libraries\sysdev\pe\peimagedetails.hpp(39) : error C3083: 'interprocess': the symbol to the left of a '::' must be a type
3>e:\projects\importdetails\libraries\sysdev\pe\peimagedetails.hpp(39) : error C2039: 'unique_ptr' : is not a member of 'boost'
3>e:\projects\importdetails\libraries\sysdev\pe\peimagedetails.hpp(39) : error C2143: syntax error : missing ';' before '<'
3>e:\projects\importdetails\libraries\sysdev\pe\peimagedetails.hpp(39) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
3>e:\projects\importdetails\libraries\sysdev\pe\peimagedetails.hpp(41) : error C2238: unexpected token(s) preceding ';'
3>e:\projects\importdetails\libraries\sysdev\pe\peimagedetails.hpp(43) : error C2065: 'ElementsStoragePtr_type' : undeclared identifier


вот код "делитера":

Код

template<typename T> 
class SimpleDeleter
{
public:

    void operator() (T * p) 
    { 
        delete p;
    }

};


А вот декларация:

Код

struct ImportDetails
{
    struct ImportItem
    {
        std::string name;
        PE::Rva_type rva;
        Fw::offset_type offset;
    };

    typedef   std::list<ImportItem>   ElementsStorage_type;

    typedef   boost::interprocess::unique_ptr<
        ElementsStorage_type, Fw::SimpleDeleter<ElementsStorage_type> > 
        ElementsStoragePtr_type;

    typedef   std::map< std::string, ElementsStoragePtr_type >  LibrariesStorage_type;

    LibrariesStorage_type dllElements;
};


Почему не способно с компилироваться? В чем моя ошибка?

ЗЫ:
Не думайте что забыл про:
Код

#include <boost/interprocess/smart_ptr/unique_ptr.hpp>

PM MAIL WWW ICQ Jabber   Вверх
anurag0
Дата 25.10.2012, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 25.10.2012

Репутация: нет
Всего: нет



Я проверил - в 1.50 студия тоже ни определение ни объявление, например, get_id() не смогла, но при этом всё отлично работает, а тут - @*!#. До этого на ...-1.47-1.48-1.49-1.50 ни каких проблем с переходом не было. 
Кто может подсказать - в чём проблема?


PM MAIL WWW   Вверх
EvilsInterrupt
Дата 25.10.2012, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: нет
Всего: 9



сделал в более упрощенном виде тут и работает.
PM MAIL WWW ICQ Jabber   Вверх
boostcoder
Дата 25.10.2012, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



EvilsInterrupt, так а в чем проблема была?
любопытно же.

PM WWW   Вверх
EvilsInterrupt
Дата 25.10.2012, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: нет
Всего: 9



boostcoder, 
Так вот в том-то и дело, что как только сделал упрощенную модель, чтобы понять: "А я все понимаю?" и оно  заработало, т.е. понимание как должно работать есть. Но в моем проекте,это не пашед (((
Вернее у меня  существут два проекта : unit-tests.sln где без проблем компилируются и работает,  и другой проект readpe.sln , вот в нем нет (((

Такими вот "описательными" ошибками меня студийный компилятор очень радует!!! ;(
PM MAIL WWW ICQ Jabber   Вверх
EvilsInterrupt
Дата 28.10.2012, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: нет
Всего: 9



Решено забить. Как гласит "Если не получается, то стоит подумать над пониманием принципа работы программы". Что и проделано. Как вывод увидел что моя концепция нифига не работает.

Эта задача пока не имеет смысла, тем более после вынесения в proba.cpp все работает! (
PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0464 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.