我想从参数包中填充结构对象,怎么办?也许你可以为此使用 boost::mpl
struct Operation {
int (*ops1)();
int (*ops2)(int);
};
template<auto... Ops>
class Example {
public:
constexpr Example() {
/*
*
* Тут нужно отсортировать Ops и заполнить m_ops
* если в аргументе шаблона есть указатель на функцию неподходящего типа - ошибка компиляции
*
* */
}
private:
Operation m_ops;
};
我之前的回答没有考虑重新排序的需要。在这里,顺序被考虑在内。
提升 - 未使用。boost::mpl 可以用来实现 is_tuple_of_unique_types,但是这个类型已经很紧凑了。