c++ - 指向成员函数的指针的问题

标签 c++ pointer-to-member

在下面的代码中(请参阅注释):

#include "stdafx.h"

#include <iostream>
using std::cout;

struct Base
{
 void fnc()
 {
  cout << "Base::fnc()";
 }

};

struct Impl
{
 void* data_;
 Impl(void (Base::*fp)())
 {
  fp();//HERE I'M INVOKING IT - I'M DOING SOMETHING WRONG!
 }
};
int _tmain(int argc, _TCHAR* argv[])
{
 return 0;
}  

错误
“错误 1 ​​error C2064:项未计算为采用 0 个参数的函数” 为什么它不起作用以及如何解决它?

最佳答案

它不起作用,因为 fp 不是函数指针而是成员指针。

如何修复它很简单,按应有的方式使用它:someinstance.*fp();

关于c++ - 指向成员函数的指针的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4017011/

相关文章:

c++ - 具有 k = 2 的 knnMatch 返回 0 最近邻,即使图像经过训练

c++ - 在 Clang 中使用成员指针的错误

c++ - Xcode 和 C++ header

c++ - 在 opencv 2DFilter 中使用自定义内核 - 导致崩溃......卷积如何?

c++ - 如何在 QGroupBox 的角上放置图像 - StyleSheet

python - 如何将二维数组从 C 传递给 Python

c++ - 返回指向类成员函数的指针

c++ - 从结构中调用 Pointer-to-Member-Function 指向的函数

c++ - 如何获取指向成员函数的指针?

C++ - 替代基类函数指针调用