3
我是新來的C++,我試圖使用模板,但我有問題。 我想要做的是:嘗試使用模板來計算數字的平方,數字可能是像int,float這樣的基本數據類型,以及複數。我還用模板來實現一個複雜的類,而代碼如下:C++模板專門化方法問題
template <typename T>
class Complex {
public:
T real_;
T img_;
Complex(T real, T img) : real_(real), img_(img) { }
};
template <typename T>
T square(T num) {
return num * num;
}
template <>
Complex<typename T> square(Complex<typename T> num) {
T temp_real = num.real_*num.real_ - num.img_*num.img_;
T temp_img = 2 * num.img_ * num.real_;
return Complex(temp_real, temp_img);
}
我試圖用模板特殊化處理的特殊情況,但它給了我錯誤:
using ‘typename’ outside of template
和該錯誤發生在模板專門化方法上。請指出我的錯誤。謝謝。
不是一個答案,但建議''頭可能完全不需要任何代碼。 –