0
嗨,大家好我是新來的C++和我有一個關於模板仿函數的問題,我創建了一個簡單的模板仿函數,但只是想知道爲什麼它返回的值總是「1」嘗試將兩個值一起添加。c + +模板函數
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感謝您的及時答覆,我很欣賞它..我是正確的說,如果我比較與我實際使用'bool operator()'2不同的val,但是如果我想返回任何函數的值而不是'T operator()'和'T x'是什麼意思? – user2975932
返回類型和添加非常棘手。 T和V可以是任何東西。但是將它們加在一起會產生什麼結果?你的意思是讓'v1'和'v2'是同一類型嗎? – andre
@ user2975932是的比較布爾結果是可取的 – P0W