c++ - 如何定义模板类的内部类
问题描述
在模板类B的函数Fb中,类型A::InnerA是错误的,如何定义。
错误:'A::InnerA' 不是类型 void Fb(A::InnerA* i) {
template <typename T>
class A {
public:
class InnerA {
public:
T* get() {
return _data;
}
void set(T* t) {
_data = t;
}
private:
T* _data;
};
void Fa(InnerA* i) {
}
};
template <typename T>
class B {
public:
void Fb(A<T>::InnerA* i) {
_a.Fa(i);
}
private:
A<T> _a;
};
c++14可以通过auto type编译,什么是real type,怎么定义?
template <typename T>
class B {
public:
void Fb(auto i) {
_a.Fa(i);
}
private:
A<T> _a;
};
解决方案
推荐阅读
- python - 将 OpenCV 中的比较运算符翻译成 Python
- python - 抓取包含多个子字符串(即关键字)的所有字符串的网页
- javascript - 如何记录返回函数调用的函数(用于尾调用优化)
- git-for-windows - 致命:无法访问 getaddrinfo() 线程无法启动
- angularjs - 在 AngularJS 中的 DataTables 列标题中添加一个操作按钮
- javascript - ml5js 损失和置信度 NaN
- python - 用手势控制键盘
- python-3.x - ModuleNotFoundError:没有名为“bs4”的模块 sublime text3
- javascript - 返回
- 烧瓶后端列表
- javascript - 使用 useReducers 调度功能发送多个操作?