对于嵌套类的解释说明,请参考:
有的时候,会定义比较复杂的模板嵌套类,此时直接访问嵌套在模板类中的模板函数或模板类会出现问题:
#include <iostream>
using namespace std;
template <typename T, typename N>
class A {
public:
A(T t, N n) : a(t), b(n) {}
template <typename U>
class B
{
public:
B(U u): b(u) {}
void bOut()
{
cout << "bOut: " << b << "\n";
}
static void bS()
{
cout << "bS" << "\n";
}
private:
U b;
};
template <typename V>
void aOutCast() {
cout << "aOutCast: " << static_cast<V>(a) << "\n";
b.bOut();
}
void aOut() {