Ошибка компиляции при использовании 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, Может ли кто-нибудь помочь мне понять, где это не так? Заранее спасибо!

0 ответов

Другие вопросы по тегам