1
我有一个静态函数在.cpp函数中声明,我不能在头中声明,因为它不应该是可见。 我想在同一个项目中的另一个.cpp中重新使用它。有没有办法使用在另一个.cpp在同一个项目中的.cpp中声明的静态void
可以做到这一点吗?
我有一个静态函数在.cpp函数中声明,我不能在头中声明,因为它不应该是可见。 我想在同一个项目中的另一个.cpp中重新使用它。有没有办法使用在另一个.cpp在同一个项目中的.cpp中声明的静态void
可以做到这一点吗?
这里有两个问题:
关于第一个问题,请查看extern
keyword。如果您不在功能上使用static
,则可以在不同的源文件中使用extern
关键字“重新声明”,然后使用它。
关于第二个问题,可能有更好的选择,例如“详细”或“实施”名称空间(请参阅some thoughts on best practices for namespaces)。使用完善的约定,您可以传达一些声明仅用于实现,而不是界面的一部分。
不可以,通过使它成为'静态',它仅在[*翻译单元*](https://en.wikipedia.org/wiki/Translation_unit_%28programming%29)中可见(大致包含所有头文件的源文件)该功能是在 –
中定义的你是自相矛盾的 - 因此这就是答案 –
对谁而言不应该看到? –