Boost logo

Boost Users :

From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2008-07-30 20:15:49


AMDG

Erzengel Des Lichtes wrote:
> int __cdecl main(int argc, char* argv[], char* envp[])
> {
> boost::function<void(*)(int*)> MyFunc;
> }
>
> I get the following error message:
>
> (Project Directory)\boostfunctest.cpp(11) : error C2079: 'MyFunc' uses
> undefined class 'boost::function'
> with
> [
> Signature=void (__stdcall *)(int *)
> ]
>

boost::function requires a function signature.
If you have a function pointer, you need to use

#include <boost/type_traits/remove_pointer.hpp>

template<class FunctionPointerType>
void foo() {
    boost::function<typename
boost::remove_pointer<FunctionPointerType>::type> f;
}

In Christ,
Steven Watanabe


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net