How do you declare an extern “C” function pointer
So I have this code: #include "boost_bind.h" #include <math.h> #include <vector> #include <algorithm> double foo(double num, double (*func)(double)) { return 65.4; } int main(int argc, char** argv) { std::vector<double> vec; vec.push_back(5.0); vec.push_back(6.0); std::transform(vec.begin(), vec.end(), vec.begin(), boost::bind(foo, _1, log)); } And receive this error: return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]); .............................................................^ %CXX-E-INCOMPATIBLEPRM, argument of type "double (* __ptr64 )(double) C" is incompatible with