私は次のものを持っています:
class X : public boost::noncopyable
{...};
class Y
{
public:
const boost::ptr_vector<X>& getXs() const;
private:
boost::ptr_vector<X> m_xs;
}
int main()
{
Y y1;
//...
const boost::ptr_vector<X>& mx = y1.getXx();
BOOST_FOREACH(boost::ptr_vector<X>::value_type x, mx)
{
// do something with x!
}
}
コンパイルはできますが、リンクしません。BOOST_FOREACHimplicit default copy constructor for X
で必要とされています。
X へのポインターのみを反復処理するにはどうすればよいですか... を使用して、コピー コンストラクターはありませんBOOST_FOREACH
。
ありがとう。