在定義參數的時候同時給它一個初始值。
如果某個參數是預設參數,那麼它後面的參數必須都是預設參數
但是這樣就不可以
預設參數的連續性能保證編譯器正确的比對參數。是以可以下這樣一個結論,如果一個函數含有預設參數,那麼它的最後一個參數一定是預設參數。
預設參數可以放在函數聲明或者定義中,但隻能放在二者之一
.h檔案
.cpp檔案
void testclass::func(int i = 1, float f = 2.0f, double d = 3.0)
{
cout << i << ", " << f << ", " << d << endl ;
}
像上面這樣,隻能夠在testclass.cpp中調用func函數。豈不是很痛苦?
預設值可以是全局變量、全局常量,甚至是一個函數。但不可以是局部變量。因為預設參數的調用是在編譯時确定的,而局部變量位置與預設值在編譯時無法确定。