我有这样的课:
template<typename ...Els>
class Istr {
std::tuple<Els...> Vals
}
class Istr1 : public Istr<std::string> {
void Do() { std::get<0>(Vals) = "Meh."; }
}
有没有办法定义我可以这样使用的功能模板?
Tok(0) = "Meh."
Istr i; i.Tok(0) = "Meh."
或者,如果不可能,像这样?
Tok<0>() = "Meh."
在我天真的方法中,我想出了一个错误的代码:
template<typename T>
T Tok(size_t i) { return std::get<i>(Vals); }
T
当我使用它隐式实例化模板时,编译器实际上无法推断出类型。