我现在正在阅读Stephen Prata的C ++ Primer,当我读到decltype时,我有点困惑。在该段的第一部分,他写道:
如果expression是函数调用,则var具有类型 函数返回类型
然后给出一个例子
long indeed(int);
decltype (indeed(3)) m; // m is type int
这不是一个错误吗?我的逻辑说,indeed
函数的返回类型为long
,而m
的类型为long
。如果我是对的,段落的第一部分或第二部分(例子)中的错误在哪里?
答案 0 :(得分:1)
这绝对是错误的例子。 m
的类型为long
。
答案 1 :(得分:0)
确实,这是一个错误。
在给定示例中,m
将为long
类型。