#ifdef VARIADIC_TEMPLATES_AVAILABLE template<typename... Args> void coolstuff(Args&&... args); #else ??? #endif
如果它们不受支持,我想我会用一堆重载来模拟它们.还有更好的想法?也许有预处理器库可以简化工作?
如果可变参数模板不可用,那么你可能必须用一堆重载来模拟它们,正如你所说的那样. Boost.Preprocessor图书馆可以在这里提供帮助;它旨在自动化各种重复的源代码,包括模板重载.您可以在Boost源树中搜索BOOST_NO_VARIADIC_TEMPLATES,以获取使用它来模拟可变参数模板的示例.