为什么不能调用不带参数的函数,而函数调用作为不返回任何值的参数(恕我直言,这相当于调用不带参数但不带参数的函数)。
例如:
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/