我正在使用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'的低劣库会是一个开始。 –