文章目錄
-
-
- 1.在依賴類型"XXXX::XX"前缺少typename關鍵字
- 2.例子
1.在依賴類型"XXXX::XX"前缺少typename關鍵字
- 這個問題産生原因是編譯器不能識别"XXXX::XX"是個啥,這到底是個類型呢,還是類得靜态成員變量呢?
- 解決方法也很簡單就是在"XXXX::XX"前面加上typename,告訴編譯器這是個類型。
2.例子
- 這是我準備用模闆寫的一個複用list周遊,然後就報這個錯。
- 報錯代碼:
#include <iostream>
#include <list>
using namespace std;
template <class T>
void showlist(list<T> v)
{
for ( list<T>::iterator it = v.begin(); it != v.end(); it++)//報錯
{
cout << *it;
}
cout << endl;
}
int main()
{
list<int> l1{ 1,2,3,4,5,5,6,7,7 };
showlist(l1);
list<double> l2;
list<char> l3(10);
list<int> l4(5, 10); //将元素都初始化為10
showlist(l4);
return 0;
}
#include <iostream>
#include <list>
using namespace std;
template <class T>
void showlist(list<T> v)
{
typename list<T>::iterator it;
for ( it = v.begin(); it != v.end(); it++)
{
cout << *it;
}
cout << endl;
}
int main()
{
list<int> l1{ 1,2,3,4,5,5,6,7,7 };
showlist(l1);
list<double> l2;
list<char> l3(10);
list<int> l4(5, 10); //将元素都初始化為10
showlist(l4);
return 0;
}