2011-12-26 69 views
0

我依稀記得,這是可以寫這樣的:如果一些額外的東西在參數列表的開頭寫參數默認爲一個先例參數的值

void f(int a, int b=0, bool c=!val); 

。 GCC中的示例給出了在範圍內未聲明val的錯誤。 不幸的是,我在互聯網上找不到任何參考,所以我在這裏問。

+0

我知道這是可能的唯一方法是如果'val'是一個const函數的值(可能是一個類的枚舉或全局const變量)的值。 – 2011-12-26 10:43:18

回答

1

如何重載f()? val是const還是不是一個問題。

void f(int a, int b, bool c); 

void f(int a, int b=0) { 
    f(a,b,!val); 
} 
+0

由於其他原因,我決定已經使用你的方法。 – 2011-12-26 11:02:37