2

我正在尝试学习 boost::mp11 的基础知识,文档还可以,但我不明白的一件事是:引用的元函数的目的是什么?文档这样说:

引用的元函数是具有称为 fn 的公共元函数成员的类,例如

struct Q1 { template<class...> using fn = void; };

struct Q2 { template<class T> using fn = T*; };

struct Q3 { template<class... T> using fn =
  std::integral_constant<std::size_t, sizeof...(T)>; };

算法具有后缀 _q 的“重载”,将引用的元函数作为参数,但我仍然不明白何时使用 bla 以及何时使用 bla_q。

4

1 回答 1

2

http://www.pdimov.com/cpp2/mp11_slides.pdf中的幻灯片 14 :

在此处输入图像描述

所以基本上,这似乎是你的指导:

当您收到“无法扩展为固定参数列表”错误时,请尝试引用元函数并改用 _q 算法

于 2020-07-05T23:04:42.870 回答