我正在使用Boost 1.58 64位,VC++ 2013,64位項目。使用boost :: pool。Boost pool malloc()和free()編譯器錯誤
以前使用升壓1.54,也沒有問題,叫:
boost::pool malloc()
和
boost::pool free(p)
現在,這兩種方法都扔:
錯誤C2039: '_malloc_dbg':不是 的成員'boost :: pool'
和
錯誤C2039: '_free_dbg':是不是 '的boost ::池'
相應的成員。
我是否錯過任何使編譯器將malloc和free作爲pool類成員對待的指令?
UPDATE:
我看到它發生只有頭內嵌methods.If我叫他們的.cpp我沒有錯誤內。
實施例:
inline void* MemoryManager::AllocMemory(){
return m_pool->malloc();
}
拋出編譯器錯誤。
這將是一些宏重新定義malloc,在標題中嘗試#undef malloc – paulm
這看起來像問題,但我想知道是否有一些比使用#undef更少的殘酷的力量解決方案(或者也許更殘酷的力量:) ) –
不使用重新定義'malloc'的低劣庫會是一個開始。 –