我有一个功能
bool(*p)(const vector<int>&, int)
是其中一个论点。我知道它被用来调用另外两个函数之一,但我似乎无法弄清楚如何实际调用它(为调用错误获得一个不匹配的函数)。我目前有
myFunct(i, j, myFunct2(i, 0);
感谢任何帮助。
答案 0 :(得分:2)
奇怪的混乱声明了一个名为p
的参数,它需要是一个指向函数的指针。函数p
指向需要两个参数,第一个是对int的向量的const引用,第二个是int。函数p
指向需要返回bool。如果您在某处具有以下形式的功能:
bool foo(const vector<int>& a, int b);
然后,您可以将&foo
作为p
传递。您不应该提供vector<int>
或int
;你传递p
的功能将会照顾到它。
答案 1 :(得分:0)
这个参数是一个指向函数的指针。 if应该只使用函数名作为参数
示例:
bool myFunct2(const vector<int>& a, int b) { ... };
myFunct(i, j, &myFunct2); // you passing myFunct2 to your functuin