Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2007-10-24 11:48:51

Markus Schöpflin wrote:

> But I still get:
> cxx: Error: ../../../boost/interprocess/smart_ptr/intrusive_ptr.hpp,
> line 77: identifier "intrusive_ptr_add_ref" is undefined
> (undeclared) detected during instantiation of
> "boost::interprocess::intrusive_ptr<T,
> VoidPointer>::intrusive_ptr(const
> boost::interprocess::intrusive_ptr<T,
> VoidPointer>::pointer &, bool) [with
> T=n_transitive::X, VoidPointer=VP]" at line 468
> of "intrusive_ptr_test.cpp" intrusive_ptr_add_ref(p);
> --------^

This is a point of instantiation error. It's caused by intrusive_ptr_add_ref
not being defined in one of the associated namespaces of n_transitive::X.
Looking at the test, it looks like namespace N, the home of N::base, is the
appropriate place for standard-conforming compilers.


I've defined intrusive_ptr_* as inline friends of base, but an out of class
definition in N will also work.

Boost list run by bdawes at, gregod at, cpdaniel at, john at