我在C ++中有以下结构
struct Jam
{
void operator()()
{
cout << "Test";
}
};
我可以像这样调用重载函数:
Jam j;
j();
但我想知道从指向同一结构的指针调用函数的正确方法是什么。例如,如果我有:
Jam *j = new Jam;
j->();
我收到错误告诉我它需要一个函数名称。这可能吗?谢谢!
答案 0 :(得分:10)
最简单,最清晰的方法是取消引用指针:
(*j)();
或者,您可以将->
语法与函数名称(operator()
)一起使用:
j->operator()();