如何在模板类定义中构造自定义类型
How to construct custom type in a template class definition
是否可以使用模板来构造类型定义中的类型? 例如,我想要这样的东西:
class MyType
{
template<typename T>
someNamespace::T Convert(someOtherNamespace::T value);
};
如果不能为此目的使用模板,是否可以进行这样的声明?
问候,达维德
不,不是。 模板参数命名实际类型,而不是标识符(如果要在命名空间中查找,则需要标识符)。
另外,我看不出这有什么特别有用。它要求两个命名空间包含具有相同名称的类型,并且可以以完全通用的方式进行转换 - 您多久会看到一次?
你能更详细地描述你想做什么吗?
不太确定你想要什么,但也许遵循(使用宏)可能会有所帮助:
// Assuming value is of type someOtherNamespace::identifier
#define CONVERT(identifier, value) static_cast<someNamespace::identifier>(value)
相关文章:
- 使用QJsEngine在Qt中注册自定义类型
- 当我使用自定义类型创建动态数组时,即使使用字符串,它似乎也不起作用
- QtQuick - qml:28:错误:未知方法返回类型:自定义类型
- 如何使自定义类型在unordered_map中用作键
- Qt5 远程对象 + 自定义类型,但不在 POD 中
- 标准::原子中的自定义类型
- 如何使用自定义类型声明Arduino数组?
- 使用自定义访问者时具有自定义类型的提升变体失败(源自 boost::static_visitor)
- 您可以将binary_search应用于具有自定义类型的矢量吗?
- 在自定义类型图中重用 SWIG 映射
- 扩展自定义类型的spdlog
- 重载自定义类型的 std::to_string 和 std::to_chars?
- 自定义类型转换运算符在转发引用上调用时不起作用(当对象按值传递时有效)
- 初始化自定义类型构造函数的数组
- 如何使用 QListIterator 的声明自定义类型定义
- 向前删除标题文件中其他名称空间的自定义类型
- 如何为提升日志和自定义类型定义输出流运算符
- typedef 中的自定义类型为 Qt MetaType
- 无法专门化 std::hash 以unordered_map存储自定义类型
- 运算符/ STD :: Chrono ::持续时间和自定义类型与Clang