pointers - 模板参数的可变类型
问题描述
我试图使用指向结构成员的任意指针......但没有任何效果;
代码1:
template <
typename Structure,
template <typename... Args>
typename Wrapper,
template <typename... Args>
typename Wrapper2,
typename... Args1,
void Structure::* ... Args2>
auto MembersContructer(Wrapper<Args1...> wrapper1, Wrapper2<Args2...> wrapper2)
-> TypesContainer<mi::member<Structure, Args1, Args2>...>;
无效结构::* ... Args2
而且我尝试使用“可变参数类型的可变参数类型”)即
代码2:
template <
typename Structure,
template <typename... Args>
typename Wrapper,
template <typename... Args>
typename Wrapper2,
typename... Args1,
(Args1 Structure::*) ... Args2>
auto MembersContructer(Wrapper<Args1...> wrapper1, Wrapper2<Args2...> wrapper2)
-> TypesContainer<mi::member<Structure, Args1, Args2>...>;
(Args1 结构::*) ... Args2
希望有人能弄清楚我想要什么。
解决方案
template <
template <typename... Args> typename Wrapper,
template <auto... Args> typename Wrapper2,
typename... Args1,
auto... Args2
>
auto MembersContructer(Wrapper<Args1...> wrapper1, Wrapper2<Args2...> wrapper2);
请注意,无需存储Structure
.