gpt4 book ai didi

c++ - 为什么 std::declval() = std::declval() 无效?

转载 作者:太空狗 更新时间:2023-10-29 20:51:12 26 4
gpt4 key购买 nike

我正在尝试使用 detector我是根据std::experiment::is_detected_v写的检查类型是否可分配。然而std::declval<int>() = std::declval<int>()无效且只有 std::declval<int&>() = std::declval<int>()有效。

为什么会这样?

最佳答案

std::declval 的签名:

template<class T>
typename std::add_rvalue_reference<T>::type declval() noexcept;

std::declval<int>()类型为 int&& ,一个右值(xvalue)。您不能分配给右值 int .

关于c++ - 为什么 std::declval<int>() = std::declval<int>() 无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51203605/

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