我想寫的東西共享內存, pAttr是共享內存地址。如何讓C++中的地圖類型的指針,地圖
如下面的模板功能, 但它不通過編譯。
template <typename Container>
int ShareMemMgn::writeContainerToShareMemMap(void* pAttr, Container& oData)
{
typename Container::mapped_type T;
(T*)(pElem) = (T *)(pAttr); //compile errror
/*
share_mem_mgn.cpp:545: error: expected primary-expression before ‘)’ token
share_mem_mgn.cpp:545: error: ‘pElem’ was not declared in this scope
share_mem_mgn.cpp:545: error: expected primary-expression before ‘)’ token
*/
for(typename Container::iterator it = oData.begin();
it != oData.end(); ++it)
{
memcpy(pElem, (&(it->second)), sizeof(typename Container::mapped_type));
++pElem;
}
return 0;
}
如何獲取maped類型指針? 任何人都可以幫助我嗎? 非常感謝。
是啊,我要改變我的函數原型爲你的建議,我會不會得到任何建議。對我好,謝謝。 – lear