如何返回元组元素

How can I return tuple element

本文关键字:元组 元素 返回 何返回      更新时间:2023-10-16

如何编写方法getValue?可能吗?求求你,帮帮我。

template <typename... Args>
    class Base
    {
      private:
      std::tuple<Args...> v_tuple;
       public:
       /.../ getValue(const int a){
       return std::get<a>(v_tuple);
    }
    };

不,你不能,因为a传递给函数时需要成为constexpr(不,在函数体中构造const int是没有帮助的)。您可以改用模板参数:

template<std::size_t I>
auto getValue() -> decltype(std::get<I>(v_tuple)) {
   return std::get<I>(v_tuple);
}