目前模板函数在 .cpp 文件中,但是这些模板需要在头文件中定义。但是,当我将它们移到标题中时,模板无法访问 .cpp 文件中的静态方法。我需要做哪些更改才能正常工作?
这只是一个实用头文件和cpp,与类无关。
最佳答案
我会继续将所有需要的函数的声明放在头文件中(并从它们的定义中删除 static
)。如果将它们放在 namespace FunctionName_impl_detail
或类似的地方,就不会发生名称冲突。如果您在声明附近放置注释以阻止直接使用它们,您可能不需要“隐藏”或“保护”它们。但是如果你想主要防止其他代码使用它们,你可以将它们设为 private
,static
某个类的成员,该类的 friend
是模板功能。
关于c++ - 如何在 test.h 中使用 test.cpp 中的静态方法创建模板函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17289320/