如何声明和定义一个函数,使它只能从单个函数访问?我可以在另一个函数中声明函数。但是,由于局部函数定义是非法的(根据VisualC++),我必须在全局范围内定义函数,使得其他函数调用它成为可能。

void f1() {
    void f1_private();
    f1priv();
}

void f1_private() {
}

void f2() {
    f1_private(); // Legal
}

是否可以将f1úu设置为只能从f1进入?如果不是,本地声明的函数有什么用途?

最佳答案

您可以将这两个函数放在一个单独的文件中,并使您希望的函数不太可见。C中的静态函数只能从声明它的同一个源文件中访问(有点像穷人的命名空间概念)。
然后像平常一样在头文件中公开可见的函数。

10-02 03:04
查看更多