我很喜歡使用boost的object_pool類來爲一組視頻幀重用內存。boost object_pool構造方法
boost::object_pool<VideoFrame> FramePool;
現在,VideoFrame類有兩個構造函數。構造函數的第一個版本需要4個參數,而第二個版本需要6個參數/參數。
對於分配的每個「新」視頻幀,我想使用4或6參數版本調用該對象上的構造函數。例如:
//VideoFrame *F = new VideoFrame(IdeckLinkOutput, &R, PixelFormat, FrameFlags);
VideoFrame *F = FramePool.construct(IdeckLinkOutput, &R, PixelFormat, FrameFlags);
2005年MSVS建設這個,我收到錯誤:
error C2660: 'boost::object_pool<T>::construct' : function does not take 4 arguments
據對object_pool的「構造」方法的文檔「的ElementType必須有一個構造函數匹配? ?;給定的參數數量不能超過通過pool_construct支持的參數「
我已經見過pool_construct的boost頁面,但我不太確定我需要採取的方向。我在我的機器上構建的boost具有pool_construct.m4,pool_construct.sh,pool_construct.bat和pool_construct.inc。這是我在自己的項目中對這些示例文件做什麼的問題?我是否會創建自己的pool_construct.inc變體並將其包含在我自己的項目中?我將如何添加文件?
任何提示/建議將不勝感激。請注意我已經安裝了gnu的m4。
zerodefect。
很酷...謝謝你。 – ZeroDefect 2010-06-03 09:57:20