2012-05-09 63 views
6

在下面一行不完全類型錯誤enable_shared_from_this

class Symbol : public boost::enable_shared_from_this<Symbol> {

我得到的錯誤:

錯誤:無效的使用不完全類型的struct boost::enable_shared_from_this<Symbol> /usr/include目錄/升壓/ smart_ptr/shared_ptr.hpp:63:error:聲明struct boost::enable_shared_from_this<Symbol>

任何想法爲什麼我得到這個錯誤。符號是一個抽象類(如果有的話)

+0

我想一個shared_ptr傳給'this'受到充分的boost :: shared_ptr的功能。我從http://stackoverflow.com/questions/712279/what-is-the-usefulness-of-enable-shared-from-這個想法 –

+1

@JerryCoffin:呃,它*特別*設計爲基類。 –

+1

@CatPlusPlus:糟糕 - 非常正確。我想我應該在我跳入之前看過... –

回答

10

Opps。錯誤是因爲我沒有包含定義enable_shared_from_this (這是boost/enable_shared_from_this.hpp)的頭文件。

它在/usr/include/boost/smart_ptr/shared_ptr.hpp只是聲明