我现在坚持使用 C++03,我想创建一个接受任意数量的类型安全参数的全局函数(如果需要,可以达到合理的限制,比如 9)。
我可以访问我的代码库中的完整 boost 库,所以我希望boost::mpl::vector
在这里有用。我也不希望这样写起来太不方便。调用站点的语法应该很简单,如下所示:
LogDebugMessage("Number of cats and dogs:", m_myPets->NumCats(), m_myPets->NumDogs());
以类型安全的方式实现这一点的最佳方法是什么?
编辑
我也意识到我可以为此使用模板专业化,但我不想最终定义相同的结构 9 次,每个额外的模板参数一个。这太乱了。如果可能的话,我想避免这种情况。