Mar*_*tin 6 c++ decltype c++11
如何在以下示例中获取成员函数的返回类型?
template <typename Getter>
class MyClass {
typedef decltype(mygetter.get()) gotten_t;
...
};
Run Code Online (Sandbox Code Playgroud)
当然,问题在于我在定义MyClass时没有"mygetter"对象.
我要做的是:我正在创建一个缓存,它可以使用getter返回的内容作为密钥.
lef*_*out 11
我不太确定你想要什么,但似乎mygetter应该只是任何类型的对象Getter.使用std::declval得到这样的对象,而无需其他任何(你只能使用它的类型扣)
typedef decltype(std::declval<Getter>().get()) gotten_t;
Run Code Online (Sandbox Code Playgroud)