【发布时间】:2021-04-10 17:58:17
【问题描述】:
所以我有一个带有可变模板参数的函数,我试图为每个参数调用一个方法(带有一个类型参数),将每个结果值打包到 std::tuple 中并返回它。然而,可变参数模板对我来说很难,我还没有完全理解它们。
甚至有可能在 C++ 中实现这一点吗?
到目前为止,这是我的代码(getMultiple 函数中有错误)。非常感谢您的帮助!
#include <iostream>
#include <fstream>
#include <sstream>
template<typename T>
T get(std::istream &stream) {
T data;
stream >> data;
return data;
}
template<typename ... Ts>
std::tuple<Ts...> getMultiple(std::istream &stream) {
// What am I doing wrong here?
return std::make_tuple((get<Ts...>(stream)));
}
int main() {
std::istringstream stream("count 2");
auto [command, number] = getMultiple<std::string, int>(stream);
return 0;
}
【问题讨论】:
标签: c++ c++17 variadic-templates variadic-functions