不同的C 模板类型定义是指相同的定义
Different C++ template typename definition means the same one?
template <typename T>
class A {
int func(T a);
};
template <typename V>
int A<V>::func(V a) {
return 0;
}
在Visual Studio 2017中,当我编写上述代码时,编辑器显示了Function denfinition for 'func' not found
,建议我创建一个使用typename T
的新代码。但是,我仍然可以编译并成功运行。
这确实使我感到困惑。这是Visual Studio中的错误吗?int A<V>::func(V a)
与A类中的int func(T a)
相同吗?
在所有声明和定义中编写相同的类型是一个好习惯?
这是Visual Studio中的错误吗?
是的,这是Intellisense中的一个错误(如您可以编译并运行正常的事实所示(。
int A<V>::func(V a)
与A
类中的int func(T a)
相同?
类是A<V>
(A
是A 类模板(但是是。
在所有声明和定义中编写相同的类型是一个好习惯吗?
也许是为了最大化代码的清晰度。
如果没有理由更改模板参数的名称,请不要更改它。
相关文章:
- 使用QJsEngine在Qt中注册自定义类型
- 在UE4中使用未定义类型'UTextBlock'
- 修改"std::set"中用户定义类型的值
- 当我使用自定义类型创建动态数组时,即使使用字符串,它似乎也不起作用
- QtQuick - qml:28:错误:未知方法返回类型:自定义类型
- 如何使自定义类型在unordered_map中用作键
- 在 C++20 中是否不再允许在 std 中对程序定义类型的函数模板进行专用化?
- Qt5 远程对象 + 自定义类型,但不在 POD 中
- 为什么转换函数声明不需要至少一个定义类型说明符
- 标准::原子中的自定义类型
- 如何使用自定义类型声明Arduino数组?
- 如何在 Cython 中定义返回 cpp 定义类型的函数?
- 使用自定义访问者时具有自定义类型的提升变体失败(源自 boost::static_visitor)
- 您可以将binary_search应用于具有自定义类型的矢量吗?
- 在自定义类型图中重用 SWIG 映射
- 扩展自定义类型的spdlog
- vim使用户定义类型的COLOR与C++中的基本类型相同
- 重载自定义类型的 std::to_string 和 std::to_chars?
- 具有未声明/未定义类型的 typedef 结构
- 函数重载:内置类型与用户定义类型