두 가지 인수를 취하는 함수가 있습니다.
template <typename T1, typename T2>
void foo(T1 arg1, T2 arg2)
{ std::cout << arg1 << " + " << arg2 << '\n'; }
그리고 인수를 쌍으로 전달 해야하는 가변적 인 것 :
template <typename... Args>
void bar(Args&&... args) {
static_assert(sizeof...(Args) % 2 == 0);
( foo( std::forward<Args>(args), std::forward<Args>(args) ), ... );
// ^ Sends each argument twice, not in pairs
}
bar(1,2,3,4)
전화 foo(1,2)
하고 싶습니다foo(3,4)
그 방법이 있습니까?
4
같은 인수를 두 번 전달하는 것은 위험합니다
—
AndyG