我想写一个这种类型的函数:
void Print(void* args ...)
{
while(args)
cout<<args[i];
}
该函数应该处理int和(std :: string或char *)
有可能吗?
答案 0 :(得分:6)
您可以使用可变参数模板执行此操作:
void Print() { }
template <typename T, typename ...Args>
void Print(T const & t, Args const &... args)
{
cout << t;
Print(args...);
}
答案 1 :(得分:4)
应答
concatenation variable type/number of arguments to one string
不需要为此编写自己的函数,只需使用std::stringstream
:
std::stringstream ss;
ss << intVar << stringVar << whatever;