c++ - 在模板类的构造函数中使用来自其他类的类型定义
问题描述
我正在尝试创建一个类,其中构造函数接受与模板类中定义的类型定义相对应的类型参数。请参阅以下无法编译的插图片段。
class A
{
typedef enum test_t {
a1,
a2,
a3
} test_t;
};
template <class T>
class B
{
B(T::test_t obj);
};
template <class T>
B<T>::B(T::test_t obj)
{
}
// Explicit definition to let compiler know a template instantiation
template class B<A>;
编译此代码时,出现以下错误:
TemplatedClassTest.cpp:13:14: 错误: 'obj'之前的预期')'</p>
TemplatedClassTest.cpp:17:8: 错误: '(' 标记之前的预期构造函数、析构函数或类型转换
解决方案
推荐阅读
- android - 在 Android Studio 中启用 R8 Shrinker 时超出 GC 开销限制
- python-2.7 - 检查重叠的 TimeField 范围
- php - 由于 Ajax 过滤器,使用 DESC 从数据库中排序数据的问题
- php - 多次选择相同的值
- html - 如何将图像更改为可点击的图像?
- vim - 如何让 NERDTree 在导航时调整视图?
- javascript - 允许在相关日期将任务添加到清单的脚本
- python - Python 从 Arduino 读取串行并跳过第一行读取
- image - 我们可以在matlab中计算用于线分割的霍夫线变换的精度吗?
- java - 如何使用 Code Pipeline 持续部署到 CloudFormation 堆栈