Boost logo

Boost Users :

Subject: [Boost-users] [Interprocess] Compile error when simply including managed_mapped_file.hpp in 1.44 using VC10
From: Phil Ratzloff (Phil.Ratzloff_at_[hidden])
Date: 2010-09-10 09:54:27


Simply including managed_mapped_file.hpp in an empty project will generate an error in boost 1.44 using VC 2010. This doesn't occur in 1.43 and is a showstopper to me. Any ideas to work around this?

I created a Console App using the New Project wizard. Here's the whole program:
      #include "stdafx.h"
      #include <boost/interprocess/managed_mapped_file.hpp>

      int _tmain(int argc, _TCHAR* argv[])
      {
        return 0;
      }

The following output log is generated:

1>------ Build started: Project: boost144Err, Configuration: Debug Win32 ------
1> boost144Err.cpp
1>c:\lib\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:\lib\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:\lib\boost_1_44_0\boost\interprocess\detail\move.hpp(342): error C2440: 'return' : cannot convert from 'boost::interprocess::detail::file_wrapper' to 'boost::interprocess::detail::file_wrapper &&'
1> You cannot bind an lvalue to an rvalue reference
1> c:\lib\boost_1_44_0\boost\interprocess\detail\file_wrapper.hpp(63) : see reference to function template instantiation 'boost::interprocess::detail::file_wrapper &&boost::interprocess::move<boost::interprocess::detail::file_wrapper&>(T)' being compiled
1> with
1> [
1> T=boost::interprocess::detail::file_wrapper &
1> ]
1>c:\lib\boost_1_44_0\boost\interprocess\detail\move.hpp(342): error C2440: 'return' : cannot convert from 'boost::interprocess::file_mapping' to 'boost::interprocess::file_mapping &&'
1> You cannot bind an lvalue to an rvalue reference
1> c:\lib\boost_1_44_0\boost\interprocess\file_mapping.hpp(62) : see reference to function template instantiation 'boost::interprocess::file_mapping &&boost::interprocess::move<boost::interprocess::file_mapping&>(T)' being compiled
1> with
1> [
1> T=boost::interprocess::file_mapping &
1> ]
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net