gpt4 book ai didi

c++ - 模板enable_if函数实现是否可行?

转载 作者:行者123 更新时间:2023-11-30 03:19:59 26 4
gpt4 key购买 nike

<分区>

使用 c++14,我有一些函数声明类似于以下内容。

template <class... Args>
struct potato {
template <class T, class = std::enable_if_t<!std::is_same<T, int>::value>>
const T& blee(size_t blou) const;

template <class T, class = std::enable_if_t<std::is_same<T, int>::value>>
const T& blee(size_t blou) const;
};

是否可以单独实现功能?据我所知,编译器无法弄清楚什么在实现什么。例如:

template <class... Args>
template <class T, class>
const T& potato<Args...>::blee(size_t blou) const {
// do something
}

template <class... Args>
template <class T, class>
const T& potato<Args...>::blee(size_t blou) const {
// do something
}

此时 enable_if 信息丢失。我是否在我的工具包中遗漏了一个技巧来完成这项工作?请注意,我宁愿不使用返回类型 enable_if 或参数 enable_if,因为它们是不敬虔的。

编辑:更新以更好地代表我的用例。

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