【发布时间】:2015-02-21 05:08:38
【问题描述】:
我遇到了这个 C++ 问题:
问题:以下是定义还是声明?
Foo f(Bar());
答案:它可能是一个接受类型 Bar 并返回类型 Foo 的函数的声明,或者它是作为类型 Foo 的 f 的定义,它有一个接受类型 Bar 的构造函数。问题是两者的语法是相同的,因此为了解决这个问题,C++ 标准规定编译器必须更喜欢函数声明而不是无法区分的对象定义。
-- 我不明白为什么它可以是“一个接受类型 Bar 并返回类型 Foo 的函数的声明”?参数列表中怎么会出现括号“()”?
【问题讨论】:
-
JFC 不再是这玩意了
标签: c++