【问题标题】:Do return statements in C++ have a type?C++ 中的 return 语句有类型吗?
【发布时间】:2021-02-09 15:41:34
【问题描述】:

众所周知,在 C++ 中,每个表达式和语句都有一个类型。那么,void 函数中的 return 语句的类型是什么?它的类型是void吗?

【问题讨论】:

  • "在 C++ 中,void 函数中是否有任何类型的 return 语句?" 是的,有:return;
  • "在 C++ 中,每个表达式和语句都有一个类型。"他们是这样?你在哪里读到的? break 没有类型。 for (;;); 也没有类型。并且许多其他语句没有类型。
  • @NikosC。表达式也是如此。不过对于陈述,我不这么认为。
  • @πάνταῥεῖ:我不认为这个问题是你建议的欺骗。虽然它可能是其他东西的欺骗。
  • @einpoklum 它仍然回答了这个问题。 return; 语句中显然没有给出没有类型

标签: c++ types return


【解决方案1】:

在 C++(和 C)中,只有表达式有类型;不是陈述。但是,许多语句实际上只是对表达式的评估(例如函数调用或赋值),这可能会导致混淆。

所以,不,return 语句 - 在返回 void 或其他任何内容的函数中 - 本身没有类型。

statements page on cppreference.com 上阅读有关“表达式语句”和一般语句的更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-08
    • 1970-01-01
    • 1970-01-01
    • 2017-12-04
    相关资源
    最近更新 更多