我宣佈一個模板Matrix
類是這樣的:有條件的模板返回類型在C++
template<typename Type> class Matrix {
// Some code for matrix computations
}
現在,我想超載operator+
在保證了更大的類型將是結果的方式。我一直想把這事
template<typename OtherType>
Matrix<Type> operator+ (Matrix<OtherType> mat) {
// Dimension check and matrix addition code
}
但這樣做,我就幾乎迫使C++選擇Matrix<Type>
作爲返回類型。我想實現的是,例如,Matrix<int>
+ Matrix<float>
將導致Matrix<float>
。
有關如何做到這一點的任何建議?
'float's不能存儲每個'int'值。 – Yakk