【发布时间】:2019-07-14 09:44:22
【问题描述】:
我最近刚参加了中级编程考试,答错的题之一如下:
函数声明后不需要分号(';')。
对或错。
我选择了“false”(如果我错了请纠正我,因为我觉得我快疯了),一个函数 declaration 是你在定义之前写的(在顶部代码),因此编译器在调用函数之前就知道函数调用,而函数定义构成了整个函数。
即,
声明:
int func();
定义:
int func() {
return 1;
}
这个答案不应该是假的吗?
【问题讨论】:
-
定义也是声明。但我会说你的答案是正确的。
-
这是一个棘手的挑剔问题,与任何人的编程能力无关。
-
我总能找到导致双重否定的问题,令人困惑。在我看来,这样的问题旨在让学生绊倒。为什么不能以以下方式形成问题:“在函数声明之后总是需要分号(';')。对或错。”? ://
-
@phonetagger 所有这些混乱都表明这个问题的措辞是多么糟糕。
-
Hanlon's Razor 建议测试的作者混淆了“声明”和“定义”。
标签: c++ function syntax declaration