1
typedef long (*GuiFunc) (int, int, int, unsigned short*, long, long);

请帮我理解上面的代码行

4

3 回答 3

1

您定义了一个类型GuiFunc,它是指向函数(括号中的内容)的指针(即(*GuiFunc)构造),该函数接受 3 ints、指向 、 的指针unsigned shortlongs并返回 long。

于 2013-10-08T14:20:00.577 回答
1

你在这里定义一个新类型。

这里的新类型是函数指针。

函数指针有 6 个输入参数

于 2013-10-08T14:19:24.577 回答
1
typedef long (*GuiFunc) (int, int, int, unsigned short*, long, long);  

定义新类型GuiFunc.that 可以声明一个带有 6 个参数的函数指针int, int, int, unsigned short*, long, longreturns long.

假设你有这样的功能

long foo(int, int, int, unsigned short*, long, long)
{

}

如果你声明

Guifunc callback; //declare a varaible of type Guifunc
callback=foo;

然后你可以像这样调用 foo 函数long x=callback(6parameters);

于 2013-10-08T14:27:23.423 回答