невозможно преобразовать из 'boost :: interprocess :: mapped_region' в 'boost :: interprocess :: mapped_region &&' - PullRequest
2 голосов
/ 21 октября 2010

Когда я пытаюсь скомпилировать простое приложение повышения с

#include <boost/interprocess/allocators/allocator.hpp>
#include <boost/interprocess/managed_shared_memory.hpp>

заголовками в VS 2010 , я получаю это сообщение об ошибке.

c:\program files\boost\boost_1_44_0\boost\interprocess\detail\move.hpp(342): error C2440: 'return' : cannot convert from 'boost::interprocess::mapped_region' to 'boost::interprocess::mapped_region &&'
1>          You cannot bind an lvalue to an rvalue reference
1>          c:\program files\boost\boost_1_44_0\boost\interprocess\mapped_region.hpp(159) : see reference to function template instantiation 'boost::interprocess::mapped_region &&boost::interprocess::move<boost::interprocess::mapped_region&>(T)' being compiled
1>          with
1>          [
1>              T=boost::interprocess::mapped_region &
1>          ]
1>c:\program files\boost\boost_1_44_0\boost\interprocess\detail\move.hpp(342): error C2440: 'return' : cannot convert from 'boost::interprocess::shared_memory_object' to 'boost::interprocess::shared_memory_object &&'
1>          You cannot bind an lvalue to an rvalue reference
1>          c:\program files\boost\boost_1_44_0\boost\interprocess\shared_memory_object.hpp(85) : see reference to function template instantiation 'boost::interprocess::shared_memory_object &&boost::interprocess::move<boost::interprocess::shared_memory_object&>(T)' being compiled
1>          with
1>          [
1>              T=boost::interprocess::shared_memory_object &
1>          ]
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Iне мог понять в чем проблема.Я удалил все реализации функций, есть только c_tor и d_tor, но все та же ошибка ..

1 Ответ

2 голосов
/ 21 октября 2010

Вы можете обойти это, как показано здесь . Это похоже на ограничение в Boost или компиляторе в обработке rvalue ссылок.

#define BOOST_NO_RVALUE_REFERENCES работал. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...