“无匹配函数可以致电”将函数指针带有模板参数作为模板参数
我正在编写一个模板包装函数,该功能可以应用于具有不同数字/类型参数的函数。 我有一些有效的代码,但我正在尝试将更多参数更改为模板参数。 工作代…
无法在模板类型之间进行转换/转换(无法推断模板参数)
在摆弄模板和 static_assert 时,我遇到了以下问题 (下面是一个简短的示例,问题是相同的) template struct W { class X { public: /* breaks norma…
使用 C++11 中的工厂函数用两个数组初始化 POD
我需要从工厂函数中 POD 初始化多个数组的结构。如何将其参数转发到创建 POD 结构 (C++11) 所需的大括号初始化列表?我收到此错误: : In instantiati…
如何在可变参数函数调用中省略临时对象的类型?
什么时候可以省略传递到可变参数函数模板中的临时类型?重载解析似乎不起作用。考虑一下: #include struct option { std::vector to_wait; std::vect…
Constexpr 将构造函数参数包扩展为成员数组 (C++11)
我想将一组可变参数扩展为 C++11 中的结构成员。我的方法如下: template struct cxpr_struct { constexpr cxpr_struct(Ts... Args) : t_(Args...) {}…
C++ 的解释将 `T const &&t` 与 `int const *` 匹配时的模板函数参数推导
我不明白在这种情况下参数推导规则是如何工作的。我有以下简单的代码片段: template void fn(T const &&t) { std::cout << __PRETTY_FUNCTION__ << s…
使用未扩展的参数包作为模板模板参数的非类型模板参数的类型是否合法?
gcc 和 clang 对于以下代码是否应该编译存在分歧: template struct tuple {}; template struct Test; template < typename... Types, template typen…
错误:使用推导的类模板专门化类型声明变量时不能使用括号
下午好!有人可以解释为什么使用仅传递一个向量的函数时会发生错误吗? 嗯,也就是说,您可以轻松地传输常量:3、“asdf”2.3 等,但命名变量则不然。…
这个函数模板如何推导出数组的大小?
在以下代码中: #include template void cal_size(T (&a)[N]) { std::cout << "size of array is: " << N << std::endl; } int main() { int a[] = {1…
使用强类型枚举进行模板参数推导
如果我有一个普通(弱)枚举,我可以使用它的枚举值作为非类型模板参数,如下所示: enum { Cat, Dog, Horse }; template bool magic(T &t) { return …
推导具有两个以上参数的 std::function
我想知道为什么 std::function只知道有两个参数的函数。我已经编写了一些运行良好的代码,但存在许多限制。欢迎任何反馈。特别是,我怀疑我正在重新发…
为什么不能从 Template::Type 推导出 T?
这段代码有什么问题? #include template struct TMap { typedef std::map Type; }; template T test(typename TMap::Type &tmap_) { return 0.0; } i…