Possible Duplicate:
Is there a use for function declarations inside functions?
I know that inside function we can declare a function. What is the use of it? Can you please bring a simple example?
Possible Duplicate:
Is there a use for function declarations inside functions?
I know that inside function we can declare a function. What is the use of it? Can you please bring a simple example?
在函数内部声明函数没有什么价值,除非您打算稍后定义它并且只让该函数可用 - 即,函数声明是封装的。
int main() {
void foo();
foo();
}
void some_other_func() {
foo(); // ERROR
}
void foo() {
}
但就是这样。与触发 Most Vexing Parse 相比,这充其量只是一个极其有限的好处。
AFAIK,在 C/C++ 中的函数内部定义函数是非标准的,只有一些编译器支持它。但是,您可以使用新的 C++ 功能,即所谓的 lambda 函数。
在其他函数中定义函数(或 lambda 函数)可能有多种用途(取决于实现):