gpt4 book ai didi

c++ - C/C++ : Calling function with no arguments with function which returns nothing

转载 作者:IT老高 更新时间:2023-10-28 22:38:20 26 4
gpt4 key购买 nike

为什么不能调用不带参数的函数,而函数调用作为不返回任何值的参数(恕我直言,这相当于调用不带参数但不带参数的函数)。

例如:

void foo(void) {...}
void bar(void) {...}

foo(bar())

不要误会我的意思,我知道 void 不是一个值,它不能被视为一个值。

按照我的逻辑,这是有道理的,应该可以做到。我的意思是,为什么不呢?有什么理由认为这是不可能的吗?

最佳答案

我不相信我听到的任何理由都是好的。

看,在 C++ 中,您可以返回 void 函数的结果:

void foo() {
// ...
}

void bar() {
// ...
return foo();
}

是的,完全一样:

foo();
return;

但是更符合泛型编程,这样你就可以让一个转发函数工作,而不必担心被转发的函数是否有void返回。

因此,如果应用类似的系统,使得 void 返回构成函数组合场景中的空调用,这也可以使函数组合更加通用。

关于c++ - C/C++ : Calling function with no arguments with function which returns nothing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2143906/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com