这是否有必要: template <typename T> class A{ T*point; A<T> someFunction(){} //instead of returning just "A", not "A<T>" }someFunction 会隐式返回与定义的类相同类型的 A 吗?因为在类之外,你只能将这种类型称为 A<float> 或类似的,所以我认为这在类内也是必要的。我发现它在没有 的情况下编译,所以这让人怀疑省略括号是否是一个安全的习惯。 最佳答案 省略类定义中的模板参数是有效且安全的 C++。事实上,这是一种很好的做法,因为稍后您可能会添加其他具有默认值的模板参数。您可能忘记将 A<T> 更改为 A<T,SomeOtherParameter> 并得到奇怪的编译时错误。然后只需返回 A 即可。关于c++ - 是否有必要使用模板参数来引用定义中的同一个类?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59594327/ 10-13 08:21