c++ - invoke_result with member (operator[]) 函数

标签 c++ operators c++17 member-functions invoke-result

如何为成员函数正确调用 invoke_result?或者专门针对运算符成员函数。我试过 std::invoke_result<T::operator[], size_type>没有成功。在这种情况下,正确的语法是什么?

最佳答案

不要。使用 decltype(std::declval<T&>()[size_type{}])或类似的东西(根据需要调整值类别和简历资格)。

invoke_result适用于您有可调用/可调用对象的情况。你没有,所以不要试图将方钉锤入圆孔。

关于c++ - invoke_result with member (operator[]) 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56910387/

相关文章:

c++ - 为什么它不使用我重载的运算符来进行++?

javascript - JavaScript 中的否定运算符?效果如何?

c++ - GSL 使用勒让德多项式的问题

c++ - 从数组中删除非唯一值,保持顺序且不使用 vector 的最佳方法?

c++ - vector 如何找到第一个和最后一个当前值

c++ - 如何使用Visual Studio调试从VBA调用的C++ DLL函数

c++ - C++中运算符和函数的区别?

c++ - Constexpr,如果测试一个模板参数

c++ - constexpr 中的 std::variant 修改

c++ - 表达式未评估为常量两级 constexpr 函数(编译器错误?)