функция-член, скрывающая свободную функцию

void foo(int)
{
}

class X
{
    void foo()
    {
    }

    void bar()
    {
        foo(42);
        // error: no matching function for call to 'X::foo(int)'
        // note: candidate is:
        // note: void X::foo()
        // note:   candidate expects 0 arguments, 1 provided        
    }
};

Почему C ++ не может вызвать бесплатную функцию (которая является единственной с правильная подпись)?

10
задан Dan Neely 12 May 2019 в 14:09
поделиться