2012-11-10 58 views
0
class EntityHolder { 
public: 

    EntityHolder () { } 

    EntityHolder (
      const EntityHolder& other) { } 
    ~EntityHolder () { } 

    EntityHolder& 
    operator = (
      const EntityHolder& other) { 
     return *this; 
    } // = 

當我試圖創造升壓:shared_ptr的,我得到以下錯誤:的boost :: shared_ptr的錯誤

..\src\Entity.cpp:7:34: error: no matching function for call to 'boost::shared_ptr<orm::EntityHolder>::shared_ptr (orm::EntityHolder&)' 

這是什麼意思?

+2

你應該張貼線路其中你正在嘗試創建'shared_ptr',即提供該錯誤的行。 –

回答

3

貌似你試圖EntityHolder類型的對象直接傳遞到shared_ptr的構造函數,但是你應該給它一個指針,像這樣:

boost::shared_ptr<EntityHolder> p(new EntityHolder); 
+2

或使用boost :: make_shared – octal

相關問題