gpt4 book ai didi

c++ - 将参数函数分配给类成员

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:21:45 24 4
gpt4 key购买 nike

我有一个类,它包含一个指向函数的指针,如下所示:

class demo{
void (*fn_ptr) (int) = NULL;
void AssignPtr(void (*fptr)(int))
{
*fn_ptr = *fptr;
}
};

我得到错误:

错误:无法在赋值中将‘void(int)’转换为‘void(int)’

最佳答案

我想你的意思是只分配指针:

fn_ptr = fptr;

如:

class demo {
void (*fn_ptr)(int) = NULL;

public:
void AssignPtr(void (*fptr)(int))
{
fn_ptr = fptr;
}

void Call(int i) {
fn_ptr(i);
}
};

void print(int x) {
std::cout << "called print(" << x << ")\n";
}

int main() {
demo d;
d.AssignPtr(print);
d.Call(42);
}

关于c++ - 将参数函数分配给类成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29631359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com