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
#include
#include
#include
#include
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