如果我想在c ++中为已知类型的模板类别名,我会这样做:
using MyVector = std::vector<MyClass>;
我如何为功能模板做同样的事情?
template <typename T> void MyFunction(T MyValue);
我试过了:
using MyIntFunction = MyFunction<int>;
但它不起作用。
答案 0 :(得分:2)
别名声明旨在为类型引入别名。
无论如何,你可以使用constexpr
变量做你想做的事情(我怀疑):
constexpr auto MyIntFunction = &MyFunction<int>;
它遵循一个最小的工作示例:
#include<iostream>
template <typename T>
void MyFunction(T MyValue) {
std::cout << MyValue << std::endl;
}
constexpr auto MyIntFunction = &MyFunction<int>;
int main() {
MyIntFunction(42);
}
答案 1 :(得分:1)
你不能对函数使用模板别名,没有这样的语法。