繁体   English   中英

decltype声明函数返回类型的参数(不带auto)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM