0
Привет, ребята, я новичок в C++, и у меня есть вопрос относительно шаблонного функтора, я создаю простой шаблонный функтор самостоятельно, но просто задаюсь вопросом, почему возвращаемое значение всегда «1», когда i попробуйте добавить два значения вместе.C++ Templated Functor
class AddValue{
private:
int x;
public:
template <class T, class U>
bool operator() (const T &v1, const U &v2)
{
x = v1 + v2;
return x;
}
};
int main(){
AddValue addvalue;
int a = 3;
int b = 6;
cout<< addvalue(a, b) << endl;
return 0;
}
@POW спасибо за быстрый ответ, и я ценю это .. Am я право сказать, что если я буду сравнивать 2 разных значения, чем я бы фактически использовал 'bool operator()', но если я хочу вернуть значение любой функции, то это будет 'T operator()' и что это означает 'T x'? – user2975932
Тип возврата и дополнение очень сложны. T и V могут быть любыми. Но каков результат, когда вы добавляете их вместе? Вы имели в виду, что 'v1' и' v2' того же типа? – andre
@ user2975932 да для сравнения логический результат желательно – P0W