Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何理解下面关于c+中typedef的代码示例+;? 如何理解C++中关于Type的代码示例?< /p> < p>声明一个名为 pTrFunc的Type,它是一个函数类型,它采用了一个类型的参数:_C++_Typedef - Fatal编程技术网

如何理解下面关于c+中typedef的代码示例+;? 如何理解C++中关于Type的代码示例?< /p> < p>声明一个名为 pTrFunc的Type,它是一个函数类型,它采用了一个类型的参数:

如何理解下面关于c+中typedef的代码示例+;? 如何理解C++中关于Type的代码示例?< /p> < p>声明一个名为 pTrFunc的Type,它是一个函数类型,它采用了一个类型的参数:,c++,typedef,C++,Typedef,您可以像这样使用它: using namespace boost; typedef void (*PtrFunc)(any& ); 这是一个指向函数的指针,该函数返回void并接受boost:any&作为其唯一参数 它可以这样使用: void myFunc(any&) { .... } PtrFunc pointerToMyFunc = myFunc; 有关在C(以及C++)中读取类型声明的完整指南,请参见此 此外,这提供了一些ASCII艺术 它定义了一个函数指针

您可以像这样使用它:

using namespace boost;

typedef void (*PtrFunc)(any& );

这是一个指向函数的指针,该函数返回
void
并接受
boost:any&
作为其唯一参数

它可以这样使用:

void myFunc(any&)
{
    ....
}

PtrFunc pointerToMyFunc = myFunc;
有关在C(以及C++)中读取类型声明的完整指南,请参见此


此外,这提供了一些ASCII艺术

它定义了一个函数指针。它定义了一个名为
PtrFunc
的类型:一个指向函数的指针,该函数接受对
any
的引用作为其参数,并返回
void
。通过读取一个解释函数指针是如何形成的。这个函数特别使
PtrFunc
成为一个指针,指向函数获取
any&
并返回
void
)。
void someFunction(any& arg)
{
    // ...
}

int main() {
    PtrFunc fn = someFunction;
    // ...
    fn(...);

    // You can also do this without a typedef
    void (*other_fn)(any&) = someFunction;
    other_fn(...);

    return 0;
}