【问题标题】:c++ void* with references within parameter listc ++ void *与参数列表中的引用
【发布时间】:2014-01-28 09:24:17
【问题描述】:
void printFunc( void(*)(int&,int&), int& );

我不知道这段代码是做什么的。我知道它是一个有两个参数的函数原型,但是我不知道第一个参数是什么意思。

【问题讨论】:

    标签: c++ parameters reference void-pointers function-prototypes


    【解决方案1】:

    第一个参数类型是一个指向函数的指针,该函数接受两个参数,均为int&s,并返回void

    void foo(int&, int&);
    

    如果你有这个函数声明,你可以将foo 作为参数传递给printFunc

    【讨论】:

      【解决方案2】:

      它是一个指向函数的指针,它接受两个int& 参数并返回void

      如果它有一个标识符(比如说p),它的拼写应该是这样的:

      void (*p)(int&, int&)
      

      然后,我们可以应用“如果我们将声明键入为表达式,我们将获得它的类型”这一原则。所以:

      1. (*p) 表示p 是一个指针

      2. (*p)(int&, int&) 表示(*p) 是一个带有两个int& 参数的函数

      3. void (*p)(int&, int&) 表示返回void

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-10
        • 1970-01-01
        • 2020-11-18
        • 1970-01-01
        • 1970-01-01
        • 2012-12-02
        • 1970-01-01
        • 2017-08-27
        相关资源
        最近更新 更多