避免過載出現歧義

2021-08-04 04:04:28 字數 374 閱讀 2816

過載方法之間必須保證相互的引數不同,但需要小心的是,過載方法在被呼叫的時候可能出現歧義呼叫。例如,下列dog類中的cry方法就是容易引發歧義的過載方法(dog類沒有語法錯誤)。

class dog

static void cry(int m,double n)

}對於上述dog類,**:

dog.cry(10.0,10);

輸出的資訊是「小狗」;**:

dog.cry(10,10.0);

輸出的資訊是「small dog」;但是,**:

dog.cry(10,10);

卻無法通過編譯(提示資訊:對cry的引用不明確),因為dog.cry(10,10)不清楚應當執行過載方法中的哪乙個。(出現歧義呼叫)。

sublime anaconda載入出現錯誤

錯誤如下 原因 anaconda外掛程式連線jsonserver服務出現錯誤 可能是,當anaconda外掛程式嘗試連線jsonserver服務時,該服務暫未啟動,所以之後在console中輸入import socket socket.socket socket.af inet,socket.soc...

C 用類模板過載 出現Link2019的解決

嘗試用類模板實現對樹的操作時候,過載 出現link2019先直接上原始碼 include using std cout using std endl namespace data type class node node t x,t y template class t inline node no...

Linux下掛載出現的錯誤

輸入命令 mount mnt cdrom 輸出錯誤為 mount can t find cdrom in etc fstab or etc mtab 通過錯誤資訊可知在 etc fstab找不到要掛載的檔案 解決方式 方法一 輸入命令 mount t iso9660 dev cdrom mnt cd...