Boost logo

Boost Users :

From: Jan Stetka (janpstetka_at_[hidden])
Date: 2006-05-07 07:42:08


I certainly wasn't getting at renaming the shmem containers. Although I
am not the developer of this library I think there are more important
issues such as the ambiguous native function calls. With this code:

#include "boost/shmem/containers/map.hpp"
#include <boost/shmem/named_shared_object.hpp>

#include <atlbase.h>
#include <atlapp.h>
#include <atlwin.h>
#include <atlscrl.h>

class PHScroll: public CScrollWindowImpl<PHScroll>
{
public:
        DECLARE_WND_CLASS(NULL)
        BEGIN_MSG_MAP(PHScroll)
                MESSAGE_HANDLER(WM_LBUTTONDOWN, OnLB)
                MESSAGE_HANDLER(WM_RBUTTONDOWN, OnRB)
                CHAIN_MSG_MAP(CScrollWindowImpl<PHScroll>);
        END_MSG_MAP()

        void DoPaint(CDCHandle dc);
        LRESULT OnLB(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/);
        LRESULT OnRB(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/);
        void SetSize(SIZE);
};

using namespace boost::shmem;
int main(int argc, char *argv[ ])
{
        PHScroll phs;
}

I get:

c:\Program Files\Microsoft Visual Studio .NET
2003\Vc7\atlmfc\include\atlbase.h(4438) : error C2668:
'GetCurrentThreadId' : ambiguous call to overloaded function
         c:\Program Files\Microsoft Visual Studio .NET
2003\Vc7\PlatformSDK\Include\WinBase.h(2502): could be 'DWORD
GetCurrentThreadId(void)'
 
c:\boost_1_33_1\boost\shmem\sync\win32\win32_sync_primitives.hpp(359):
or 'unsigned long boost::shmem::GetCurrentThreadId(void)'
         while trying to match the argument list '(void)'
         c:\Program Files\Microsoft Visual Studio .NET
2003\Vc7\atlmfc\include\atlbase.h(4434) : while compiling class-template
member function
'ATL::CAtlAutoThreadModuleT<T>::~CAtlAutoThreadModuleT(void)'
         with
         [
             T=ATL::CAtlAutoThreadModule
         ]
         c:\Program Files\Microsoft Visual Studio .NET
2003\Vc7\atlmfc\include\atlbase.h(4513) : see reference to class
template instantiation 'ATL::CAtlAutoThreadModuleT<T>' being compiled
         with
         [
             T=ATL::CAtlAutoThreadModule
         ]
c:\Program Files\Microsoft Visual Studio .NET
2003\Vc7\atlmfc\include\atlbase.h(4451) : error C2668: 'GetLastError' :
ambiguous call to overloaded function
         c:\Program Files\Microsoft Visual Studio .NET
2003\Vc7\PlatformSDK\Include\WinBase.h(2688): could be 'DWORD
GetLastError(void)'
 
c:\boost_1_33_1\boost\shmem\sync\win32\win32_sync_primitives.hpp(361):
or 'unsigned int boost::shmem::GetLastError(void)'
         while trying to match the argument list '(void)'
c:\Program Files\Microsoft Visual Studio .NET
2003\Vc7\atlmfc\include\atlbase.h(4459) : error C2668: 'CloseHandle' :
ambiguous call to overloaded function
         c:\Program Files\Microsoft Visual Studio .NET
2003\Vc7\PlatformSDK\Include\WinBase.h(3355): could be 'BOOL
CloseHandle(HANDLE)'
 
c:\boost_1_33_1\boost\shmem\sync\win32\win32_sync_primitives.hpp(362):
or 'int boost::shmem::CloseHandle(void *)'
         while trying to match the argument list '(HANDLE)'
c:\Program Files\Microsoft Visual Studio .NET
2003\Vc7\atlmfc\include\atlbase.h(4462) : error C2668: 'CloseHandle' :
ambiguous call to overloaded function
         c:\Program Files\Microsoft Visual Studio .NET
2003\Vc7\PlatformSDK\Include\WinBase.h(3355): could be 'BOOL
CloseHandle(HANDLE)'
 
c:\boost_1_33_1\boost\shmem\sync\win32\win32_sync_primitives.hpp(362):
or 'int boost::shmem::CloseHandle(void *)'
         while trying to match the argument list '(HANDLE)'

Thanks


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