Ошибка компиляции при использовании boost::weak_ptr
#include <iostream>
#include <boost/shared_ptr.hpp>
using namespace std;
using boost::shared_ptr;
using boost::weak_ptr;
int main() {
shared_ptr<int> p(new int(5));
weak_ptr<int> q = p;
if(shared_ptr<int> r = q.lock())
{
cout << r << endl;
}
return 1;
}
Привет всем, когда я компилирую вышеупомянутые коды, чтобы быть знакомым с boost::weak_ptr, я столкнулся со следующей ошибкой компиляции: variable ‘boost::weak_ptr<int> q’ has initializer but incomplete type
, Может ли кто-нибудь помочь мне понять, где это не так? Заранее спасибо!