无法初始化shared_ptr

时间:2012-04-06 14:48:50

标签: qt shared-ptr

shared_ptr <QMap < T , X > * > shared_我正试图像这样初始化它:

shared_t = new QMap < T , X >();

但是我收到了错误:

    c:\mingw\bin\..\lib\gcc\mingw32\4.6.2\include\c++\bits\shared_ptr_base.h:762: error: cannot  
 convert 'QMap<boost::filesystem3::path, Qt::CheckState>*' to 'QMap<boost::filesystem3::path,    
   Qt::CheckState>**' in initialization

我该如何初始化这个ptr?请注意,我确实需要指向map的指针作为存储在shared_ptr

中的类型

1 个答案:

答案 0 :(得分:1)

模板参数中的类型必须是值类型本身,而不是指向它的指针:

shared_ptr <QMap<T, X> > shared_t;