Получение ошибки C2064: термин не оценивается как функция, принимающая 2 аргумента

я получаю эту ошибку

Ошибка 5 ошибка C2064: термин не соответствует функции, принимающей 2 аргумента C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\xrefwrap 431 1

после попытки сделать это

typedef std::function<int(int, int)> op;


op someOperator = std::plus<int>();
op someOtherOperator = std::minus<int>();

поэтому я могу вызвать функцию, например

UpdateValues(int X, int Y, op One, op Two)
{
      //eventually doing something like
      One(X, someOtherInt);
      Two(Y, someOtherInt);
}

Что происходит?

Вот ссылка на мои файлы, если они вам нужны https://www.dropbox.com/s/vn2akcyb9f448e6/Checkers.rar?dl=0


person InSaNo    schedule 24.05.2015    source источник
comment
Компилируется и запускается на ideone. Попробуйте опубликовать минимальный пример, который воспроизводит проблему.   -  person vsoftco    schedule 24.05.2015
comment
Значит, из всех тех файлов, которые вы выложили, мы должны искать этот код, который не компилируется?   -  person PaulMcKenzie    schedule 24.05.2015


Ответы (1)


Большое спасибо за ваш ответ vsoftco, в конце концов, эту ошибку продолжали генерировать три отдельные вещи:

Я передал объект операции вместо логического параметра Я передал объект операции* вместо параметра операции Я передал объект операции вместо параметра операции*

person InSaNo    schedule 24.05.2015