function-pointers

    3热度

    3回答

    我正在使用Don Clugston的fastdelegates实现一个定时器/回调系统。 (见http://www.codeproject.com/KB/cpp/FastDelegate.aspx) 这里是起始码: struct TimerContext { }; void free_func(TimerContext*) { } struct Foo { void m

    1热度

    1回答

    我正在使用反射来检查以下方法声明,并且想知道是否可以确定该方法的唯一参数是函数指针。 public ref class T { public: void foo(Int32 (*)(String^, array<TimeSpan>^)) { } }; 当检查用于foo的参数的ParameterInfo对象,它示出了参数的类型是IntPtr;这是有道理的,因为函数指针不是本机CL

    1热度

    4回答

    我想传递一个任意的结构指针数组和比较函数到一个通用的排序算法。这可能在C吗? 只能在比较函数内访问结构的阴影,排序函数只需要调用比较函数和交换指针,但我不知道如何声明它。 function sorter(struct arbitrary ** Array, int Length, int cmp(struct node * a, struct node * b)) { for (int

    2热度

    5回答

    这是一些C++代码的摘录,我将有详细些日子来解释: std::vector<int> vct(8, 5); std::generate(vct.begin(), vct.end(), &rand); std::copy(vct.rbegin(), vct.rend(), std::ostream_iterator<int>(std::cout, "\n")); 我想我明白它的

    3热度

    2回答

    我怎样才能做到这一点? (下面的代码不工作,但我希望它解释了这个想法。) class MyClass { .... private: int ToBeCalled(int a, char* b); typedef (MyClass::*FuncSig)(int a, char* b); int Caller(FuncSig *func, char*

    2热度

    1回答

    我已经做了一些在线阅读,了解如何去做这件事,我想我正确地做到了......我的目标是有一个包含指向类成员函数指针的结构对象数组。 这里是我迄今为止... typedef void (foo::*HandlerPtr)(...); class foo { public: void someFunc(...); // ... private: // ... };

    0热度

    2回答

    使用结构structure2编写一个程序来访问函数“foo”。 typedef struct { int *a; char (*fptr)(char*); }structure1; typedef struct { int x; structure1 *ptr; }structure2; char foo(char * c) { ---

    3热度

    4回答

    我想写一个函数指针的映射函数,并将其传递给另一个函数,但gcc对我大喊大叫。 这是我想要做的一个想法。 void map(T thing, void apply(int a, int b, void *cl), void *cl); void function(T thing, void apply(int a, int b, void *cl), void * cl) { fo

    4热度

    3回答

    我试图做交互式Java程序非常简单的命令行库。您启动Java程序并提示您输入命令。语法是: > action [object_1, [object_2, [... object_n] ... ]] 例如: > addUser name "John Doe" age 42 这里action = "addUser", object_1 = "name", object_2 = "John Do

    2热度

    4回答

    我有一些二进制数据,其中包含一堆函数并想调用其中一个函数。 我知道这些函数的签名以及相对于文件开始的偏移量。呼叫约定是默认的:__cdecl。 该文件已被加载到具有执行权限的内存页面中。 例如(A,B,C是某些类型) void myFunction (A *arg1, B arg2, C arg3); // Signature int myOffset = 0x42; // Offset 我