小编sve*_*nov的帖子

编译器选择具有相同名称的函数的仿函数

有人可以解释一下什么规则确定编译器调用f下面的仿函数而不是函数f

#include <iostream>

struct A {
    void operator()() { std::cout << "functor" << std::endl; }
};

void f() { std::cout << "function" << std::endl; }

int main()  
{
    A f;
    f();  // Output: functor
}
Run Code Online (Sandbox Code Playgroud)

A::operator()()并且f()不是重载,所以我猜这是在重载决策之外发生的.

c++ function functor

2
推荐指数
1
解决办法
84
查看次数

标签 统计

c++ ×1

function ×1

functor ×1