1樓:
" 函式中有多個預設引數,則形參應從最右邊依次向左設定。"
-- 意思是,當第i 個引數有預設值時,
第i +1,i+2,i+3 。。。直到最後一個引數都必須 給預設值。否則語法錯。
void point(int x,int y=0,int z=0); -- 對
void point(int =0,int,int =0); -- 錯
void point(int =0,int =0,int); -- 錯
void point(int ,int,int =0); -- 對
"當呼叫函式時,只能向左匹配引數。" --
如果函式有4個引數,你呼叫時填了兩個,那麼第3和第4個引數用預設值 -- (對的)
如果函式有4個引數,你呼叫時填了3個,那麼第4個引數用預設值。-- (對的)
你不能說,我填2個引數,算第1第3 ,第2和第4個引數用預設值。-- (就錯了)。
2樓:sweet丶奈何
void point(int x=10,y=20); //這句是 宣告
void point(int x=10,y=20) {} //帶函式體沒有分號是定義
所以第一節裡只有宣告沒有定義,函式在呼叫前需要宣告。
但如果在main函式前定義的函式是可以省略宣告直接呼叫的。
簡而言之,就是使用預設引數時是把預設引數寫道宣告裡了,省略宣告時寫到定義裡(其實也就是宣告和定義合二為一了)。
3樓:巫彬計採楓
必須按照引數順序對位入座。你的呼叫相當於把"y"(char)賦給了int。這樣可定是不行的。
4樓:盈彗張繡
函式傳值呼叫時,實際引數作為右表示式想形式引數提供初始值。c++的允許指定引數的預設值,凼函式呼叫中升略預設引數時,預設值自動傳遞被呼叫函式
c++函式宣告裡面帶有預設值的小問題
5樓:匿名使用者
既然定義了預設bai值就是說:你傳實du參時不給zhi值的話就用宣告給出的dao
預設值,版
所以給出了預設值的參權數在傳參時是「可有可無」的。
而沒有定義預設值的函式當然要自己給出全部引數的值,否則的話傳什麼值呢。
定義預設值一般是在有普遍適用的情況下。比如一個給文字設定顏色的函式,大多數情況下文字都是黑色,那麼你就可以給這個函式設個黑色的預設值。具體情況具體分析,按程式設計師的需要來。
c++書上有一個帶預設值的函式的問題
6樓:
指的是函式的宣告和定義,不是指變數
7樓:檀衛傑
這個是帶有預設值的形參列表,表示如果y,z不被賦值則使用預設值...
point(x);
point(x,y);
point(x,y,z);
這三種呼叫方式就是為了驗證上面的結論的,不知道對不對,嘿嘿
8樓:隨風而逝_微塵
int y=0,int z=0是預設值啊
9樓:匿名使用者
是這樣的,void point(int x,int y=0,int z=0),表示y,z如果有傳值進來,那麼各自對應你所傳進來的值,否則如果沒有傳值進來的話,都預設為0,而x一定要傳值進來!!
c 中,如果建構函式沒有預設值,物件也沒有引數賦值過去,那
不會的。c 類的建構函式詳解 一 建構函式是幹什麼的 class counter private 資料成員 int m value 該類物件被建立時,編譯系統物件分配記憶體空間,並自動呼叫該建構函式 由建構函式完成成員的初始化工作 eg counter c1 編譯系統為物件c1的每個資料成員 m v...
在C 中,帶預設值的函式是什麼來的?有什麼用?請舉個例子說明,謝謝
作用 1,一是用來設定預設形參的。2,二是對於擴充套件函式的通用性。例如 函式宣告 void fun 1 int i 呼叫 int a fun 1 a 如果對函式擴充套件為void fun 1 int i,int j 3 對於以前呼叫過的 不用再更新。否則就要寫成如下形式 int a,b fun 1...
求助 c裡怎樣把textbox裡新增預設值
面版屬性裡設定textbox控制元件的text屬性 或者在code 比如aspx,page load事件textbox1.text 惡魔 就行了 page onload 這樣你可以試下 如果是web 就寫在page load裡 html winform 也可以這樣同理 告訴你bai吧。非常簡單。其實...