[英]decltype to declare parameter of return type of a function (without auto)
对我来说这看起来像一个微不足道的问题,也许我找不到合适的文档..
我有一个结构A,我想将参数b定义为函数A的返回类型:
struct A{
int operator[](int);
};
然后在某个时候
decltype(A::operator[]) b = 0;
我能做到这一点:但它很难看......
A a;
decltype(a[0]) b = 0;
(它可以是double / int等),我不想使用模板。
谢谢,
除了使用语法之外,我不太了解需要。 这正是auto
设计目标,并且auto
支持加入decltype
的相同标准......
无论如何,您需要模拟函数调用:
decltype(std::declval<A>()[0]) b = 0; // equivalent to `int b = 0;`
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.