gpt4 book ai didi

c++ - 使用 Template 模板参数的前向声明

转载 作者:行者123 更新时间:2023-11-30 01:50:24 25 4
gpt4 key购买 nike

我这辈子都无法编译这个前向声明。一切在语法上看起来都是正确的,但我收到类型/值不匹配错误。

namespace C {
template <class TBinaryPredicate> class E;
}

template< template<typename> class TField> class CF;

using CE_Less = C::E<std::less<Date>>;
using CF_Less = CF<CE_Less>; <==== COMPILER NOT HAPPY HERE

编译器错误:

error: type/value mismatch at argument 1 in template parameter list for 'template class TField> class CF'

声明此模板别名的正确方法是什么?

最佳答案

CF 需要一个模板:CE_Less 不是模板别名,它是一个简单的别名,您可能打算使用模板别名:

template<class T>
using CE_Less = C::E<std::less<T>>;

using CF_Less = CF< CE_Less >;

关于c++ - 使用 Template 模板参数的前向声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27474232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com