1
가변 변수 템플릿에 전달 된 모든 매개 변수를 단순히 출력하려고합니다. 이 재귀 적 접근을 시도했다 :모든 가변적 템플릿 매개 변수 출력
#include <iostream>
template<typename TFirst, typename... Arguments>
void Output(TFirst first, Arguments... parameters)
{
std::cout << first << std::endl;
Output(parameters);
}
template<typename TFirst>
void Output(TFirst first)
{
std::cout << first << std::endl;
}
void Output()
{
// do nothing
}
int main()
{
Output(1.0f, 2);
}
그러나 나는 parameter packs not expanded with '...'
을 얻는다. 아무도 여기서 무엇이 잘못되었는지 설명 할 수 있습니까?
는 --------- 편집 ------------ 여기
는 솔루션입니다 :
#include <iostream>
template<typename T>
inline void showArguments(T&& arg) { std::cout << arg << std::endl; }
template<typename First, typename... Rest>
inline void showArguments(First&& first, Rest&& ...rest)
{
showArguments(first);
showArguments(rest...);
}
int main()
{
showArguments("Hello", "World", 1, 2.3, false, true);
}