从void函数的return语句调用函数

时间:2015-02-21 08:00:05

标签: c++ c++11

如果我从void函数返回一个void函数,那么在返回之前是否会调用该函数?

示例:

#include <iostream>
void one ( ) { std::cout << "Hello world.\n"; }
void two ( ) { return one ( ); }
int main ( ) { two ( ); }

Will&#34; Hello world。&#34;被打印到屏幕上?

2 个答案:

答案 0 :(得分:4)

是的,“Hello world。”将在函数one返回之前调用函数two,将打印到屏幕上。

enter image description here

答案 1 :(得分:4)

是。从N3337(草案C ++ 11标准):

  

[stmt.return] / 3带有表达式类型的return语句   void只能在返回类型为 cv void的函数中使用;   在函数返回之前计算表达式   呼叫者。