我是c ++的新手。所以我正在尝试做一些微不足道但却无法弄清楚的事情。
我有一个名为Method的类:
class Method{
private:
std::string nameMethod;
Func f;
public:
Method(std::string name,Func fun){
nameMethod=name;
f=fun;
};
我想创建一个名为methDaniel的类型的Object,它有
我如何在main.cpp文件中执行此操作?
#include "Method.h"
using namespace std;
typedef void (*t_somefunc)();
void addDaniel(){
cout<<"Daniel";
}
int main(){
addDaniel();
t_somefunc afunc = &addDaniel;
Method* methDaniel = new Method("addDaniel",afunc);
}
答案 0 :(得分:2)
将定义typedef
的{{1}}移至&#34; Method.h&#34;。
将t_somefunc
的类型从f
更改为Fun
。
Method.h:
t_somefunc
然后,在typedef void (*t_somefunc)();
class Method{
private:
std::string nameMethod;
t_somefunc f;
public:
Method(std::string const& name, t_somefunc fun) : nameMethod(name), f(fun){}
:
main