編輯:我很高興看到,有一個C++ 11的解決方案。無論如何,還沒有人想出C++ 98的答案。所以,即使我已經接受了答案,問題依然存在。如何創建一個不需要調用者將參數傳遞給它的可變參數?
讓我們假設你有一個命名空間中的一個函數:
namespace Math
{
int Sum(<params>);
}
如何實現這一功能的數學::總和,從而調用者可以使用任意數量的參數調用它尚未調用者不還需要傳遞參數的數量。 來電者還需要在呼叫地點完全符合資格。例如: Math::Sum(2, 4, 6, 8, 10, 12)
宏?可變參數? eurgh,不,謝謝 – 2013-03-05 12:54:58
好吧,有時候,即使在最新的編譯器上,你也需要一些宏魔法來將它們屈服於你的意志;) 特別是當它們不完全符合C++ 11時:( – 2013-03-05 13:23:18