第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

c++函數(shù)模板問題各位有什么建議?

c++函數(shù)模板問題各位有什么建議?

C++
藍山帝景 2019-09-07 12:53:14
essentialC++課后題2.5,重載函數(shù)max(),源碼鏈接2.6是讓使用template來重寫2.5,我按照書上答案,運行出錯,書上的源碼鏈接看報錯信息應(yīng)該重載有歧義Infunction'intmain()':Line37:error:callofoverloaded'max(int,int)'isambiguouscompilationterminateddueto-Wfatal-errors.把max函數(shù)名改成max_new函數(shù)名運行成功改動后代碼請問我如果不改函數(shù)名,如何能夠運行正確呢?
查看完整描述

2 回答

?
素胚勾勒不出你

TA貢獻1827條經(jīng)驗 獲得超9個贊

可以使用命名空間把你自己實現(xiàn)的函數(shù)放入一個mynamespace的命名空間,然后后面的代碼顯示地制定命名空間mynamespace::max即可,代碼如下:#include#include#include#includenamespacemynamespace{templateinlineTypemax(Typet1,Typet2){returnt1>t2?t1:t2;}}templateinlineelemTypemax(conststd::vector&vec){return*max_element(vec.begin(),vec.end());}templateinlinearrayTypemax(constarrayType*parray,intsize){return*std::max_element(parray,parray+size);}intmain(){intiarray[]={12,70,2,169,1,5,29};std::vectorivec(iarray,iarray+7);floatfarray[]={2.5,24.8,18.7,4.1,23.9};std::vectorfvec(farray,farray+5);std::stringsarray[]={"we","were","her","pride","of","ten"};std::vectorsvec(sarray,sarray+6);intimax=mynamespace::max(max(ivec),max(iarray,7));floatfmax=mynamespace::max(max(fvec),max(farray,5));std::stringsmax=mynamespace::max(max(svec),max(sarray,6));std::cout<<"imaxshouldbe169--found:"<<imax<<'\n'<<"fmaxshouldbe24.8--found:"<<fmax<<'\n'<<"smaxshouldbewere--found:"<<smax<<'\n';return0;}


查看完整回答
反對 回復(fù) 2019-09-07
  • 2 回答
  • 0 關(guān)注
  • 329 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號