
"John Maddock" <john@johnmaddock.co.uk> wrote
I believe config macro BOOST_NO_MEMBER_TEMPLATE_FRIENDS should be defined for BCB 6.
- compiling test file boost_no_mem_templ_frnds.cxx fails,
Works for me, both with bcb5 and bcb6.
Oops, my mistake. Nevertheless I bellow is code snippet which fails on BCB 6 (and VC6) and compiles on Intel C++ 7 and Comeau online: ------------------------ template <class T> class foo; template <class T> bool must_be_friend_proc(const foo<T>& f); template <class T> class foo { private: template<typename Y> friend bool must_be_friend_proc(const foo<Y>& f); int i; public: foo(){ i = 0; } void call_friend() { must_be_friend_proc<T>(*this); } }; template <class T> bool must_be_friend_proc(const foo<T>& f) { return f.i != 0; } int main(int argc, char* argv[]) { foo<int> fi; fi.call_friend(); return 0; } ------------------------ The difference to file boost_no_mem_templ_frnds.cxx is that I actually call friend. /Pavel