Форум программистов, компьютерный форум, киберфорум
Наши страницы
Boost C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
vbloodv
22 / 22 / 3
Регистрация: 15.12.2012
Сообщений: 314
1

Не является членом boost

20.01.2013, 15:37. Просмотров 817. Ответов 7
Метки нет (Все метки)

В документации по буст сказанно что к функция и методам можно обращаться на прямую!
C++
1
mouse.Pos(x,y);
Но на деле : error C2039: 'SetPos' : is not a member of 'boost::shared_ptr<T>'

Работает только mouse->Pos(x,y); Хотя VassistX видет в самом указатели методы для обьекта буста. В чем может быть проблема?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2013, 15:37
Ответы с готовыми решениями:

boost.asio example - файл не является приложением win32
Собрал пример chat отсюда http://www.boost.org/doc/libs/1_38_0/doc/html/boost_asio/examples.html...

Boost начало работы: Undefined reference to `boost::system::generic_category() '
Добрый день Собственно говоря возникла необходимость использовать boost в работе. Поставил так: ...

Boost Log - undefined reference to `boost::system::system_category()'
Пытаюсь скомпилировать код из примеров Boost Log:#include &lt;boost/log/trivial.hpp&gt; int main(int,...

Использование boost и boost.build с несколькими компиляторами
Здравствуйте! Собрал библиотеку boost и boost.build для двух компиляторов: MinGW 4.5.2 и Visual...

Метапрограммирование в boost::proto (boost::spirit)
В библиотеке boost:: proto есть такой код calculator&lt;proto::terminal&lt;placeholder&lt;0&gt; &gt;::type&gt;...

7
0x10
2571 / 1751 / 288
Регистрация: 24.11.2012
Сообщений: 4,377
20.01.2013, 15:50 2
Аксессор . (точка) используется для обращения к методам класса boost::shared_ptr<T>. Для обращения к методам класса, указателем на объект которого владеет shared_ptr используется оператор ->. Что ожидаемо для указателя.
0
vbloodv
22 / 22 / 3
Регистрация: 15.12.2012
Сообщений: 314
20.01.2013, 16:09  [ТС] 3
Цитата Сообщение от 0x10 Посмотреть сообщение
Аксессор . (точка) используется для обращения к методам класса boost::shared_ptr<T>.
Сразу обращаем внимание: при объявлении контейнера * не указывается. Чтобы добавить объект в контейнер, вызываем метод push_back, аналогично стандартному контейнеру std::vector:
C++
1
2
3
4
5
the_animals.push_back( new mammal("joe") ); 
the_animals.push_back( new bird("dodo") );
the_animals[0].eat(); // А в случае std::vector<animal*> это было бы vec[0]->eat();
boost::ptr_vector<animal>::iterator i = vec.begin(); i->eat();
 // Опять же, для std::vector это было бы (*i)->eat(); Не знаю как Вас, но меня такая запись всегда раздражала.
Слышал звон, да не знал где он похоже не там набрался всего этого!
0
0x10
2571 / 1751 / 288
Регистрация: 24.11.2012
Сообщений: 4,377
20.01.2013, 16:17 4
Ну это уже особенность самого ptr_vector'a - предоставление доступа к элементам по ссылке, а не по указателю.
0
Avazart
Эксперт С++
7722 / 5631 / 549
Регистрация: 10.12.2010
Сообщений: 25,397
Записей в блоге: 17
20.01.2013, 19:07 5
boost::ptr_vector<> не рекомендуют использовать вообще то...
И если я не ошибаюсь этот вектор не следит за отдельными объектами..

Добавлено через 2 минуты
C++
1
// Опять же, для std::vector это было бы (*i)->eat(); Не знаю как Вас, но меня такая запись всегда раздражала
Переходите на C#, ну либо конструируйте свой контейнер.
0
ForEveR
В астрале
Эксперт С++
7995 / 4754 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
20.01.2013, 19:49 6
Avazart,
boost:tr_vector<> не рекомендуют использовать вообще то...
Доказательства можно?
И если я не ошибаюсь этот вектор не следит за отдельными объектами..
Фразу можно разъяснить? ptr_vector может как владеть объектами, так и не владеть, в зависимости от policy.
heap_clone_allocator http://liveworkspace.org/code/10Hr8F$4
view_clone_allocator http://liveworkspace.org/code/10Hr8F$8
2
Avazart
Эксперт С++
7722 / 5631 / 549
Регистрация: 10.12.2010
Сообщений: 25,397
Записей в блоге: 17
20.01.2013, 20:07 7
Прощу прощение походу что-то напутал...
0
vbloodv
22 / 22 / 3
Регистрация: 15.12.2012
Сообщений: 314
21.01.2013, 01:19  [ТС] 8
Цитата Сообщение от ForEveR Посмотреть сообщение
Доказательства можно?
Спасибо, а то я было подвергся ложным страхам и опасениям
0
21.01.2013, 01:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2013, 01:19

Qt и boost boost::system::generic_category()
Добрый день Не подскажите как настроить Qt на работу с boost? У меня в принципе все работает:...

boost::geometry::model::box и boost::geometry::area
Здравствуйте! Пытаюсь измерить площадь box'a :D, но не знаю как правильно это сделать. Вот этот код...

Задание размерности массива неконстантным членом класса
Вопрос к знатокам стандарта. Есть фрагмент кода class Test { int sz; void do() { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru