编辑:我很高兴看到,有一个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