gpt4 book ai didi

C++ 指针对象仿函数

转载 作者:行者123 更新时间:2023-11-30 02:03:02 25 4
gpt4 key购买 nike

我很困惑为什么 C++ 不允许您在指针上使用仿函数。例如,如果我有这样的类(class):

class Character{


public:
Character();
~Character();
void operator()() {cout << "HELLO WORLD" << endl;}//this is the functor operator

};

当我做这样的事情时,我得到一个错误,提示我不能将字符作为函数调用...

Character * character = new Character();

character();

delete character;

但这工作正常:

Character character;
character();

在第一种情况下,我将如何访问该运算符?有可能吗?

最佳答案

是的,取消引用指针:

(*character)();

或者更详细一点:

character->operator()();

关于C++ 指针对象仿函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12574336/

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