我有一個虛擬課basic_action
。類sippeers
繼承類basic_action
。要存儲sippeers
類的實例,我正在使用boost::ptr_list
。下面是代碼示例:爲什麼在boost :: ptr_list上調用front()時會出錯?
boost::ptr_list<basic_action> ActionsList;
sippeers spclass;
ActionsList.push_back(&spclass);
basic_action *sp = ActionsList.front();
在這裏,我創建的prt_list
一個實例的指針,以我的basic_action
類的實例。 接下來我創建了我的sippeers
類的新實例。 接下來,我將指向sippeers
類的指針插入ptr_list
。
最後一個字符串失敗。
Cannot convert from 'basic_action' to 'basic_action *'.
,但有一個內部basic_action *
,不basic_action
!
這無關你的問題,但提高指針容器把你放入其中的對象的所有權。你不想把一個堆棧分配的對象放到一個ptr_list中。 – Ferruccio 2011-04-11 11:48:35