Hello, Steven
Your test case is failed in my environment. I use boost 1.36.0
then I replaced my boost with 1.39.0 and found it works!
What's the difference between them?
2009/5/23 Steven Watanabe
AMDG
梁绍池 wrote:
I've defined a function object as below:
struct BaseAddrLess : public std::binary_function
{ result_type operator() (const first_argument_type& lhs, const second_argument_type& rhs) const { return &lhs < &rhs; } }; and use as a compare function in ptr_set like this: ptr_set
bset; when the class Base is a abstract class the vc9 compiler will complain use of undefined type 'boost::result_of<F>'
What causes this problem? How to solve it?
Works for me. Do you have a minimal test case that fails? What version of Boost are you using?
#include <functional> #include
struct Base { virtual ~Base() = 0; };
Base::~Base() {}
struct Derived : Base {};
struct BaseAddrLess : public std::binary_function
{ result_type operator() ( const first_argument_type& lhs, const second_argument_type& rhs) const { return &lhs < &rhs; } }; int main() { boost::ptr_set
bset; bset.insert(new Derived()); } In Christ, Steven Watanabe
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users