2012-05-09 23 views
6

Tại dòng saukhông đầy đủ loại lỗi về việc sử dụng tăng :: enable_shared_from_this

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

tôi nhận được lỗi:

lỗi: sử dụng không hợp lệ của loại không đầy đủ struct boost::enable_shared_from_this<Symbol> /usr/include/tăng/smart_ptr/shared_ptr.hpp: 63: lỗi: khai báo của struct boost::enable_shared_from_this<Symbol>

Bất kỳ ý tưởng nào tại sao tôi gặp phải lỗi này. Biểu tượng là một lớp trừu tượng (nếu có vấn đề)

+0

Tôi muốn vượt qua một shared_ptr cho 'this' chức năng mà phải mất tăng :: shared_ptr . Tôi đã sử dụng ý tưởng từ http://stackoverflow.com/questions/712279/what-is-the-usefulness-of-enable-shared-from-this –

+1

@JerryCoffin: Er, đó là * cụ thể * được thiết kế để trở thành lớp cơ sở . –

+1

@CatPlusPlus: Rất tiếc - khá đúng. Tôi đoán tôi nên nhìn trước khi tôi nhảy vào ... –

Trả lời

10

Opps. Lỗi này là do tôi không bao gồm tiêu đề xác định enable_shared_from_this (được tăng/enable_shared_from_this.hpp).

Nó chỉ được khai báo trong /usr/include/boost/smart_ptr/shared_ptr.hpp

Các vấn đề liên quan