gpt4 book ai didi

c++ - 这个条件如何放在模板偏特化中?

转载 作者:太空宇宙 更新时间:2023-11-04 16:00:33 24 4
gpt4 key购买 nike

template<size_t bits_count, typename = void>
struct best_type {
};

template<size_t bits_count>
struct best_type<bits_count,enable_if_t<bits_count > 8>> { // error: template argument 2 is invalid
typedef byte type;
};

错误是因为解析器将第二个模板参数视为 enable_if_t<bits_count >以下是随机 8 .

显然,解决这个问题的方法是替换 enable_if_t 的参数。至 bits_count >= 9 ,但是否可以采取一些措施来保留原始表达方式,以便对 future 的读者有意义?

最佳答案

您应该添加额外的括号来向编译器解释您的意思:

template<size_t bits_count>
struct best_type<bits_count,enable_if_t<(bits_count > 8)>> {
typedef byte type;
};

关于c++ - 这个条件如何放在模板偏特化中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45259034/

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