为什么不能调用一个不带参数的函数调用函数调用作为不返回任何值的参数(IMHO相当于调用一个不带参数的参数的函数).
例如:
void foo(void) {...}
void bar(void) {...}
foo(bar())
Run Code Online (Sandbox Code Playgroud)
不要误解我的意思,我知道void这不是一个价值,它不能像对待一样.
凭借我的逻辑,这将是有道理的,应该可以做到这一点.我的意思是,为什么不呢?任何争论为什么不可能?
我不相信我听过的任何理由都是好的.
请参阅在C++中,您可以返回void函数的结果:
void foo() {
// ...
}
void bar() {
// ...
return foo();
}
Run Code Online (Sandbox Code Playgroud)
是的,它完全相同:
foo();
return;
Run Code Online (Sandbox Code Playgroud)
但是与通用编程更加一致,因此您可以使转发功能工作,而不必担心转发的函数是否已void返回.
因此,如果应用类似的系统使得void返回在函数组合场景中构成一个无效调用,那么这可能使函数组合更通用.
| 归档时间: |
|
| 查看次数: |
6788 次 |
| 最近记录: |