Hello, Steven
AMDGWorks for me.
ÁºÉÜ³Ø wrote:
I've defined a function object as below:
struct BaseAddrLess : public std::binary_function<Base, Base, bool> {
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<Base, BaseAddrLess> 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?
Do you have a minimal test case that fails?
What version of Boost are you using?
#include <functional>
#include <boost/ptr_container/ptr_set.hpp>
struct Base {
virtual ~Base() = 0;
};
Base::~Base() {}
struct Derived : Base {};int main() {
struct BaseAddrLess : public std::binary_function<Base, Base, bool> {
result_type operator() (
const first_argument_type& lhs,
const second_argument_type& rhs) const {
return &lhs < &rhs;
}
};
boost::ptr_set<Base, BaseAddrLess> 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