std::get from teplate argument
std::get from teplate argument
您能否解释一下或给出一个链接来解释:为什么这样做:
template <int i, int j, class T>
auto to_pair(T tuple) -> decltype(std::make_pair(std::get<i>(tuple), std::get<j>(tuple)))
{
return std::make_pair(std::get<i>(tuple), std::get<j>(tuple));
}
这不行吗?
template <class T>
auto to_pair(int i, int j, T tuple) -> decltype(std::make_pair(std::get<i>(tuple), std::get<j>(tuple)))
{
return std::make_pair(std::get<i>(tuple), std::get<j>(tuple));
}
我的意思是 int 类型是模板参数专用化和 int 参数作为通用参数有什么区别?
我的意思是 int 类型是模板参数专用化和 int 参数作为通用参数有什么区别?
一个在编译时定义,另一个在运行时定义。
运行时值不能用作模板参数。因此,第二种情况不起作用。
相关文章:
- 表示"accepting anything for this template argument" C++概念的通配符
- C++模板错误:"invalid explicitly-specified argument for template parameter"
- 为什么编译器说"candidate template ignored: couldn't infer template argument 'InputIterator'"?
- "Cannot convert Python object argument to type '<typename>'" - 使用 Cython 包装 C++ 类时出错
- 实现多类型算术运算符时如何解决"template argument deduction/substitution failure"
- C++线程"Call to non-static member function without an object argument"
- 尝试在类中编译内核,出现错误"__init__() got an unexpected keyword argument 'kernel'"
- 如何修复 eigen3 中的'non-type template argument is not a constant expression'?
- LLVM:如何修复"Referring to an argument in another function"
- 如何修复此"argument of type incompatible with parameter"错误?
- Constexpr lambda argument
- 通过"Value Template Argument"与常规阵列在堆栈中分配内存
- 当我使用套接字代码发送第二条消息时,我有一个"sendto() Invalid argument"
- std::get from teplate argument
- 列表插入"Cannot convert argument from Class<T>* to Class<T> &&"
- 模板类错误的向量:"Template argument 2 is invalid"
- 如何修复错误消息,如"argument list for class template is missing"?
- 矩阵类:"No instance of overloaded function push_back matches the argument list"
- 单独的判决模板:Teplate<... 九月...>
- 为什么我从这个 sendto() 中得到"Invalid argument"?