[問題] template+operator overloading的問題
假設我有一個結構為A 一個class為test
然後在main中 我宣告了兩個物件temp1,temp2
test<float> temp1;
test<A> temp2;
然後我欲使temp1+temp2 所以打算多載運算子
而有下面程式碼(只貼定義部份)
template <class T>
float test<T>::operator+(test& i)
{
.
.
.
}
編譯結果顯示錯誤
no match for 'operator+' in 'temp1 + temp2'
candidates are: float test<T>::operator+(test<T>&) [with T = float]
我的編譯器為Dev-C++
我有試著將test<A> temp2 改為 test<float> temp2
編譯就成功了 所以我想問題在於operator+(test& i)的傳入參數型態
不知道高手可以告知我那邊的型態要如何寫呢? 感謝<(_ _)>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.194.90
推
03/19 23:04, , 1F
03/19 23:04, 1F
→
03/19 23:04, , 2F
03/19 23:04, 2F
→
03/20 00:06, , 3F
03/20 00:06, 3F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
14
26