typename其实就是使用模版类时,避免了实例化才能确定typename后面的对象是一个类型。如果不使用typename,那么只能在实例化时,才能知道对象是一个类型还是一个变量。
类型:
#include <iostream>
#include "test_line.h"
#include <vector>
#include "algorithm"
using namespace std;
template <typename T>
void A<T>::display()
{
this->b = 10;
cout << this->b << endl;
}
template <typename T>
void A<T>::print() const
{
}
template <typename T>
void func1()
{
typename A<T>::c cc = 2;
cout << cc << endl;
}
int main()
{
A<int> a;
typename std::vector<int> b;
sort(b.begin(), b.end());
func1<int>();
return 0;
}