function-pointers

How would you declare a two dimensional array of pointers in C?

...without using typedef. My boss claims he was once asked this in an interview, and when he gave his answer the interviewers told him he couldn't use typedefs because it was poor style. Regardless, he likes to throw the question out at people just to see if they can get it right , usually at new programmer lunches. No one ever gets ...

Passing a C++ method to an Objective-C method

I have a C++ class 'Expression' with a method I'd like to use in my Objective-C class 'GraphVC'. class Expression { double evaluate(double); } And my Objective-C class: @implementation GraphVC : UIViewController { - (void)plot:(double(*)(double))f; @end I thought that it would be easiest to pass around function pointers that ta...

Calling base class definition of virtual member function with function pointer

I want to call the base class implementation of a virtual function using a member function pointer. class Base { public: virtual void func() { cout << "base" << endl; } }; class Derived: public Base { public: void func() { cout << "derived" << endl; } void callFunc() { void (Base::*fp)() = &Base::func; ...

abstract function pointers

How would I create an array of ten function pointers? What I have is a for loop, and I want to set a function pointer to a different function on each iteration. so: //pseudocode for i (0..10) function = array_of_functions[i]; //... ...

Function Pointer in C

How can I create a "function pointer" (and (for example) the function has parameters) in C? ...

How do 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::bi...

Member function pointer calls copy constructor?

I'm trying to create a lookup table of member functions in my code, but it seems to be trying to call my copy constructor, which I've blocked by extending an "uncopyable" class. What I have is something like the following. enum {FUN1_IDX, FUN2_IDX, ..., NUM_FUNS }; class Foo { fun1(Bar b){ ... } fun2(Bar b){ ... } ... void (Foo...

How to hash and compare a pointer-to-member-function ?

How can i hash (std::tr1::hash or boost::hash) a c++ pointer-to-member-function? Example: I have several bool (Class::*functionPointer)() (not static) that point to several diferent methods of the class Class and i need to hash those pointer-to-member-function. How can i do that? Also how can i compare (std::less) those member funct...

how to declare a function which is member of a class and returns a function pointer to a thread?

Hi All, I want to write a function(say foo) which takes string as an argument and returns a function pointer ,however this pointer points to following function: DWORD WINAPI fThread1(LPVOID lparam) Also the function(foo) is member of a class so i will be defining it and declaring it in seperate files(header and .cpp files). Please h...

Wrapping a C Library with Objective-C - Function Pointers

Hey guys, I'm writing a wrapper around a C library in Objective-C. The library allows me to register callback functions when certain events occur. The register_callback_handler() function takes a function pointer as one of the parameters. My question to you gurus of programming is this: How can I represent an Objective-C method call /...

How do I refer to std::sin(const valarray<double> &) ?

I'm having trouble with some valarray function pointer code: double (*fp)(double) = sin; valarray<double> (*fp)(const valarray<double> &) = sin; The first compiles, the second gives: error: no matches converting function 'sin' to type 'class std::valarray<double> (*)(const class std::valarray<double>&)' ...

null pointer when getting function pointer using boost::function::target

After reading this answer I thought I had a solution. At least the answer there is what I would like to do but I'm having a problem with the implementation. here is an outline of what I am trying to do typedef map<string, double*> myMap; typedef int (*ftwpt)(const char*, const struct stat*, int); typedef boost::function<int(const char...

How to implement a "private/restricted" function in C?

I was asked a very interesting question during a C interview: How can you implement a function f() in such a way that it can only be called from a particular g() function. If a function other than g() tries to call f() it would result in a compiler error. At first, I though this could be done with function pointers and I could get close...

Help with boost bind/functions

Hi, I have this function signature I have to match typedef int (*lua_CFunction) (lua_State *L);//target sig Here's what I have so far: //somewhere else... ... registerFunction<LuaEngine>("testFunc", &LuaEngine::testFunc, this); ... //0 arg callback void funcCallback0(boost::function<void ()> func, lua_State *state)...

C++ Custom compare function for list::sort

Hi I'm having trouble compiling a simple piece of code. I am creating a class which implements a Deck of cards, and I want to create a shuffle method using the list::short method. Relevant code: deck.h #ifndef _DECK_H #define _DECK_H #include <list> #include <ostream> #include "Card.h" #include "RandomGenerator.h" using namespace s...

Reference to Lua function in C/C++

I have a functions nested relatively deeply in a set of tables. Is there a way in C/C++ to get a "reference" to that function and push that (and args) onto the stack when I need to use it? ...

What are the operations supported by raw pointer and function pointer in C/C++?

What are all operations supported by function pointer differs from raw pointer? Is > , < , <= , >=operators supported by raw pointers if so what is the use? ...

Conditional operator can't resolve overloaded member function pointers

I'm having a minor issue dealing with pointers to overloaded member functions in C++. The following code compiles fine: class Foo { public: float X() const; void X(const float x); float Y() const; void Y(const float y); }; void (Foo::*func)(const float) = &Foo::X; But this doesn't compile (the compiler complains that ...

C++ Member Function Pointers and STL Algorithm Problem

Okay I have a bit of a problem which i'm struggling to solve. Basically I have an abstract functor class that overloads operator() and derived objects that implement it. I have a function (part of another class) that tries to take an Array of these functor classes and tries to pass a pointer to a member function to the std algorithm fo...

C++: Pointer to class member function inside a non-related structure

I've done a bit of reading online as to how to go about this and I think I'm doing it correctly... My goal is to have an array of structure objects that contain pointers to member-functions of a class. Here's what I have so far... typedef void (foo::*HandlerPtr)(...); class foo { public: void someFunc(...); // ... private: ...