我是C++編程新手,所以請不要太苛刻:)。下面的示例說明了我的問題的最基本描述。說我有這個函數的聲明在頭文件:C++函數,我可以給一個對象什麼默認值?
int f(int x=0, MyClass a); // gives compiler error
編譯器會抱怨,因爲下面有默認值的參數參數應該有默認值了。
但是,我可以給第二個參數什麼默認值?
的想法是,該功能可以被稱爲與不足有兩個參數,如果不休息相關的特定情況下,讓所有的下列應該去:
MyClass myObj; // create myObj as an instance of the class MyClass
int result=f(3,myObj); // explicit values for both args
int result=f(3); // explicit for first, default for second arg
int result=f(); // defaults for both
是否有可能將int f(int x = 0,MyClass a);'轉換爲int f(MyClass a,int x = 0);'? – andre 2012-03-28 14:21:08
人們不會苛刻的SO :-),但C++會。 ;-)。出於好奇:你爲什麼選擇學習C++? – Andre 2012-03-28 14:27:35