gpt4 book ai didi

c++ - 模板化显式转换运算符

转载 作者:行者123 更新时间:2023-11-28 07:57:47 26 4
gpt4 key购买 nike

所以,我有这个模板类,我正在尝试为其编写通用转换运算符。我想出的是这个(不起作用:“错误 - 在'typename'之后需要一个合格的名称”):

template <typename T>
class object{
...
T internal;
...
template <typename U>
explicit operator typename decltype(
std::conditional<
std::is_convertible<T, U>::type , U, T>::type)()
{
return static_cast<std::conditional<std::is_convertible<T, U>::type ,U, T>::type>(internal);
}

我做错了什么还是不可能的?

最佳答案

设法找到我自己的解决方案:

    template <typename U>
explicit operator typename decltype(std::conditional<
std::is_convertible<T, U>::type ,
U,
T>::type)::value_type ()

{
return static_cast<typename decltype(std::conditional<
std::is_convertible<T, U>::type ,
U,
T>::type)::value_type>(internal);
}

关于c++ - 模板化显式转换运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12318046/

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