【发布时间】:2021-05-10 15:19:58
【问题描述】:
我正在学习模板和概念。我正在尝试为从类派生的类型创建一个概念,但这个类是一个模板。
template<typename T>
struct CAA{};
template<typename T, typename T2>
concept DerivedFromAA = requires() {std::derived_from<CAA<T2>,T>;};
是否可以在函数中使用这样的概念而不必明确告诉它类的模板类型?我对如何定义这样的概念的想法是错误的吗?
template<typename T>
void conceptTestFunc(DerivedFromAA<T> auto& aa)
{
}
//...
CAA<int> aa;
conceptTestFunc<int>(aa); // Without having to tell it "int"
(我正在用 Clang 编译它。)
【问题讨论】:
标签: c++ clang c++-concepts