請考慮下面的代碼:獲取價值和參考。歧義。模板功能
template<typename Body>
Body solve(Body a, Body b){
Body zero(0);
return zero;
}
template<typename Body, Body& zero>
Body solve(Body a, Body b){
return zero;
}
complex<double> zero_complex(0);
int main() {
complex<double> c1(1,2);
complex<double> c2(3,4);
solve<complex<double>, zero_complex> (c1,c2);
return 0;
}
我怎樣才能獲得通過參考complex<double>
?
當我重載一個函數(見下文)時,我得到一個模糊性錯誤。
template<typename Body>
Body solve(Body& a, Body& b){
Body zero(0);
return zero;
}
我不太明白這一點。你想在上面的代碼中加入這個重載,並且提出'ambigious blablabla'? –
試圖提高可讀性 – DuncanKinnear