没关系:
template<typename T>
using MyVector = std::vector<T>;
MyVector<int> xyz;
但不是这样:
template <typename F>
using MyCalc = float calc1(F f) { return -1.0f * f(3.3f) + 666.0f; }
虽然
template <typename F>
float calc1(F f) { return -1.0f * f(3.3f) + 666.0f; }
没关系。有没有办法为calc1定义别名?
答案 0 :(得分:2)
using name = thing
声明了一个类型别名。 calc1
是模板函数,而不是类型。它与声明变量并尝试使用using
声明一个别名没有什么不同。
无法声明函数别名。由于C ++的各种规则,这样做有很多问题。您是否希望别名用于整个重载集或仅一个特定函数?别名是否应包括ADL?等等。