
2010/4/9 Fábio 'Petrucio' Stange
I've just recently learned about boost::function when reading Effective C++, and I was thrilled about it.
This is the simple code I'm trying to implement:
typedef boost::function1
ObjectDoneCallback; void SomeFunction(ObjectDoneCallback callback, ...) { // Some code callback(...); } When trying to compile it under C++ Builder 2006 (I have no other choice but to use this in the current project), I get the following error:
[C++ Error] function_template.hpp(904): E2131 Objects of type 'detail::function::basic_vtable1
' cannot be initialized with { } On this line in function_template.hpp: static vtable_type stored_vtable = { { &manager_type::manage }, &invoker_type::invoke };
Can I circumvent this somehow to make it compile under my environment?
Two things. First, it is best to give is a complete, but simplified example that demonstrates the problem. Second, the Borland builder has lots of issue, and that is putting it mildly. Why are you stuck with it?