也许我在这里很天真,但我相信以下代码应该编译:
template <typename ... T>
struct Test {
std::tuple<T> foo;
};
int main() {
struct Test<int, long> test;
return 0;
}
相反,g ++抱怨:
test.cpp:5: error: parameter packs not expanded with '...':
test.cpp:5: note: 'T'
我错过了什么?
答案 0 :(得分:1)
您可以通过使用...
template <typename... T>
struct Test
{
std::tuple<T...> foo;
// ^^^^
};