Форум программистов, компьютерный форум, киберфорум
Наши страницы

Boost C++

Войти
Регистрация
Восстановить пароль
 
vbloodv
22 / 22 / 0
Регистрация: 15.12.2012
Сообщений: 314
#1

Не является членом boost - Boost C++

20.01.2013, 15:37. Просмотров 777. Ответов 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 (Boost C++):

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

Boost начало работы: Undefined reference to `boost::system::generic_category() ' - Boost C++
Добрый день Собственно говоря возникла необходимость использовать boost в работе. Поставил так: sudo apt-get install boostlib-all-dev ...

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

использование boost и boost.build с несколькими компиляторами - Boost C++
Здравствуйте! Собрал библиотеку boost и boost.build для двух компиляторов: MinGW 4.5.2 и Visual C++ 2010 Express Edition. Для этого...

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

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

7
0x10
2480 / 1655 / 248
Регистрация: 24.11.2012
Сообщений: 4,104
20.01.2013, 15:50 #2
Аксессор . (точка) используется для обращения к методам класса boost::shared_ptr<T>. Для обращения к методам класса, указателем на объект которого владеет shared_ptr используется оператор ->. Что ожидаемо для указателя.
0
vbloodv
22 / 22 / 0
Регистрация: 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
2480 / 1655 / 248
Регистрация: 24.11.2012
Сообщений: 4,104
20.01.2013, 16:17 #4
Ну это уже особенность самого ptr_vector'a - предоставление доступа к элементам по ссылке, а не по указателю.
0
Avazart
Эксперт С++
7247 / 5419 / 297
Регистрация: 10.12.2010
Сообщений: 24,055
Записей в блоге: 17
20.01.2013, 19:07 #5
boost::ptr_vector<> не рекомендуют использовать вообще то...
И если я не ошибаюсь этот вектор не следит за отдельными объектами..

Добавлено через 2 минуты
C++
1
// Опять же, для std::vector это было бы (*i)->eat(); Не знаю как Вас, но меня такая запись всегда раздражала
Переходите на C#, ну либо конструируйте свой контейнер.
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,545
Завершенные тесты: 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
Эксперт С++
7247 / 5419 / 297
Регистрация: 10.12.2010
Сообщений: 24,055
Записей в блоге: 17
20.01.2013, 20:07 #7
Прощу прощение походу что-то напутал...
0
vbloodv
22 / 22 / 0
Регистрация: 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
Привет! Вот еще темы с ответами:

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

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

Qt и boost - Boost C++
Как правильно прикрутить boost к Qt Creator? Можно ли использовать уже установленный boost для Visual Studio (через инсталятор)? Как...

boost::serialization - Boost C++
Рассматривал тему boost::serialization. И в примере ниже моя студия выкидывает много ошибок. Можете пожалуйста подсказать в чем бида ...


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

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

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