簡體   English   中英

C ++中的函數重載和數字的數據類型

[英]Function Overloading in C++ and Data Type of Numbers

當函數重載用於哪個函數時,它們實際上會去..?

void print(int);  //print 1 
void print(char *);  //print 2
void set (int *);  //set 1
void set (const char *);  //set 2
int main() {
print (0); //Which print?
set (0); //Which set?

2 ..是什么類型? int還是short ...例如,在下面的代碼中f被稱為.. for f(2)

void f(int, double = 0.0); //f1
void f(short); //f2

打印(0); //哪個打印?

print(int)因為0int 完全匹配-無需轉換。

設置(0); //哪個集

模棱兩可,因為0 (它是int )可以轉換為任何類型的空指針。 因此,此代碼將導致編譯錯誤。

2 ..是什么類型? 是int還是short

它是int 如果沒有任何后綴,則所有整數文字都是int類型。

例如,在以下代碼中,f被稱為.. for f(2)

現在,您應該自己弄清楚。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM