#include <iostream>
使用 命名空間 std.com.cn>。
void print(string str,int a=0)
{
cout<<str;
}
int main()
{
string str="hello world"。
print(str)。
return 0;
如果我只傳遞一個引數,而函式需要兩個引數,為什么代碼還能作業呢?
uj5u.com熱心網友回復:
每當你有一個帶有默認引數的函式時
void some_func(int a。int def = 0)
{
//something。
}
下面的呼叫
some_func(42)。
被轉換為
some_func(42, 0) 。
而且你也可以用兩個引數來呼叫這個函式,比如some_func(42, 1);
uj5u.com熱心網友回復:
它起作用是因為你在一個函式宣告中定義了這個int。編譯器知道a =0并且是一個int型別。然而,如果你讓我們說像這樣呼叫這個函式:
print(str,10)。
int a的值將是10,而不是0。
uj5u.com熱心網友回復:
你用一個引數宣告函式有一個默認的初始值,這就是為什么你能夠在沒有那個引數的情況下呼叫函式。
如果不把那個引數傳給函式,就會使用你宣告的初始值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/309258.html
標籤:
