function-pointers

what are function pointers

Possible Duplicate: What is the point of function pointers? can anyone explain what function pointers are and why they are needed in layman terms. In c context please? ...

How to make a void** point to a function?

I have code that looks like this: extern "C" __declspec(dllexport) myInterface(int id, void** pFunction) { ... } I need to make the void** pFunction argument point to a function so that the caller can use this function via the pFunction pointer. This function gets called through a DLL, I don't want to do it this way but for a lot ...

Creating a template predicate class requiring a pointer to method function, and ensuing compiler errors

I'm building a series of predicates that duplicate lots of code, and so are being changed into a single template function class based on the std::unary_function. The idea is that my class interface requires methods such as Element_t Element() and std::string Name() to be defined, so the predicate template arguments are the object type an...

How can I resolve this address of overloaded member function issue?

It's hackish, I know, but I recently needed to implement a stream class which would act mostly like a standard stream, but which would detect the std::endl manipulator and special-case it's behaviour. My first attempt at a particular method implementation was... mystream& mystream::operator<< (std::basic_ostream<char>& (*p) (std::basic_...

C++ Function Pointer Syntax

I am trying to create a function in VC++ that takes a function pointer but I keep getting syntax errors. The declaration in my header file looks like this: void ApplyFuncToCellsInSelection(void(*func)(CPoint, *CSpreadWnd)); Here is the definition: void CSpreadWnd::ApplyFuncToCellsInSelection(void(*func)(CPoint, *CSpreadWnd)) { ... ...

How do you declare a pointer to a function that returns a pointer to an array of int values in C / C++?

Is this correct? int (*(*ptr)())[]; I know this is trivial, but I was looking at an old test about these kind of constructs, and this particular combination wasn't on the test and it's really driving me crazy; I just have to make sure. Is there a clear and solid understandable rule to these kind of declarations? (ie: pointer to... arr...

How to define a return type of general member function pointer?

I was found general member function pointer call method. buf that example is only void type. I want to make general return type of method function call. class Callback { public: void operator()() { call(); }; virtual void call() = 0; }; class BasicCallback : public Callback { // pointer to member function void (*func...

Unable to call a pointer to function returning a pointer

Hi there, I'm stuck with a weird problem. I have two files a.c and b.c as follows: b.c: #include <stdlib.h> int *foo() { int *x; x = (int *) malloc(sizeof(int)); *x = 4; return x; } I compile b.c to b.so using gcc: $ gcc -o b.so -shared -fpic a.c: #include <stdio.h> #include <dlfcn.h> int main() { void *hdl; hdl = dlop...

How to call pointer to function defined in typedef struct

what is wrong with the following code? parseCounter1() and parseCounter1() below are two functions. I put their pointers in const OptionValueStruct so that they can be called accordingly when each element of option_values[] are gone through: typedef struct OptionValueStruct{ char counter_name[OPTION_LINE_SIZE]; int* counter_...

Static function pointer member in a class template

How can I use a static function pointer member in my class template? I'm working with C++ in Visual Studio, and my code looks similar to the following: template<typename T> class ClassTemplate { public: static T* CallIt() { return ClassTemplate<T>::mFunctionPointer(); } private: static T* (*mFunctionPointer)(); }; When I com...

typedef function pointer inheritance

I can have a typedef function pointer in a class like this: template<typename T> class MyClass { public: typedef T (*fptr)(T); void doSomething(fptr my_fptr) { /*...*/ } }; and this works fine. but if I inherit from such a class, as below: template<typename T> class MyClass { public: typedef T (*fptr)(T); virtual void doSo...

C++ pointer to array of pointers to function pointers? any clue how to do it?

Maybe is a silly questiion, but I haven't found a solution to what I want. Basically, I would like to declare a pointer to an array of pointers to function pointers to functions with N parameters that returns an const pointer to an int. The code below is declaring an array of pointers to the function pointers: int *const (**fptr[10])...

Function pointer to function returning Multidimensional array

Hi, With respect to this question, we can declare a function that returns pointer to array as: int (*function())[3] which returns Ax3 array, ok. How is the proper way to declare a function pointer that points this kind of function? ...

Is there a way to setup a Func with a generic object parameter?

I currently have a mapping setup to convert from one base class to another base class. I am mapping a customer class to a thrid party control. The values are similiar but there is enough differences that I can't reuse the thrid party control. _converters = new Dictionary<Type, Func<AnnotationBase, AnnotationMark>>(); _converters.Add( ty...

Good practice for choosing an algorithm randomly with c++

Setting: A pseudo-random pattern has to be generated. There are several ways / or algorithms availible to create different content. All algorithms will generate a list of chars (but could be anything else)... the important part is, that all of them return the same type of values, and need the same type of input arguments. It has to be p...

Runtime error when calling function

I have a program that calls a function in a dynamically-linked library. All of the function calls work fine, except one. double *frameData = NULL; int frameDataSize = 0; g_BeamGage_GetSingleFrame(BEAMGAGE_ID, &frameData, &frameDataSize); //error here When BeamGage_GetSingleFrame is called when debugging my program, I get a runtime err...

How do you pass a function of a class as a parameter to another function of the same class

i basically want to use a dif function to extract a different element of a class (ac). the code is similar to this: .h: class MyClass { public: double f1(AnotherClass &); void MyClass::f0(AnotherClass & ac, double(MyClass::*f1)(AnotherClass &)); }; .cc: double MyClass::f1(AnotherClass & ac) { return ac.value; } void M...

How does template parameter of std::function work? (implementation)

In Bjarne Stroustrup's home page (C++0x FAQ): struct X { int foo(int); }; std::function<int(X*, int)> f; f = &X::foo; //pointer to member X x; int v = f(&x, 5); //call X::foo() for x with 5 How it works? How std::function calls foo member function? According to the template parameter int(X*, int), is &X::foo converted from the memb...

Boost.Fusion Functional: Calling functions with default arguments

Is it possible to use boost::fusion::invoke function to call a function that has default arguments without specifying those? Example: void foo(int x, int y = 1, int z = 2) { std::cout << "The sum is: " << (x + y + z) << std::endl; } ... // This should call foo(0). It doesn't work because the type of foo is void (*) (int, int, int)....

C++ function pointers and presetting arguments

Say I have a function f(a, b, c). Is it possible to create function pointers g and h such that when you use g and h they use a predetermined value for one of the arguments? For example (*g)(b, c) would be equivalent to f(1, b, c) and (*h)(b, c) would be equivalent to calling f(2, b, c). The reason why I am doing this is that I am calli...