具有已知类型的别名函数模板 如果我想在C++中为已知类型别名模板,我会这样做: using MyVector = std::vector<MyClass>; 使用MyVector=std::vector;
如何为函数模板设置相同的值具有已知类型的别名函数模板 如果我想在C++中为已知类型别名模板,我会这样做: using MyVector = std::vector<MyClass>; 使用MyVector=std::vector;,c++,templates,alias,C++,Templates,Alias,如何为函数模板设置相同的值 template <typename T> void MyFunction(T MyValue); 模板无效MyFunction(T MyValue); 我试过: using MyIntFunction = MyFunction<int>; 使用MyIntFunction=MyFunction; 但是它不起作用。您不能为函数使用模板别名,因为没有这样的语法。别名声明旨在为类型引入别名 无论如何,您可以使用constexpr变量来执行(我
template <typename T> void MyFunction(T MyValue);
模板无效MyFunction(T MyValue);
我试过:
using MyIntFunction = MyFunction<int>;
使用MyIntFunction=MyFunction;
但是它不起作用。您不能为函数使用模板别名,因为没有这样的语法。别名声明旨在为类型引入别名 无论如何,您可以使用
constexpr
变量来执行(我怀疑)您正在尝试执行的操作:
constexpr auto MyIntFunction = &MyFunction<int>;
constexpr auto MyIntFunction=&MyFunction;
下面是一个简单的工作示例:
#include<iostream>
template <typename T>
void MyFunction(T MyValue) {
std::cout << MyValue << std::endl;
}
constexpr auto MyIntFunction = &MyFunction<int>;
int main() {
MyIntFunction(42);
}
#包括
模板
void MyFunction(T MyValue){
STD::我将使用<代码> Auto&& MyTime[= ](int v){MyFalm(V);};<代码>;在我看来,C++中的函数本身是一个单元格,不是一个类型/类,它不可能是混叠的。谢谢,我不知道。