利用typename使用模板型別引數來定義模板型別中的型別的變數
阿新 • • 發佈:2018-12-13
直接上程式碼。
#include <iostream> template<typename T> void PrintStlContainer(T const& coll) { typename T::const_iterator pos; //要使用模板引數中定義得型別,必須使用typename typename T::const_iterator end(coll.end()); for (pos = coll.begin(); pos != end; pos++) { std::cout << *pos << " "; } std::cout << std::endl; }
測試程式碼:
#include "inc.hpp"
#include <vector>
using namespace std;
int main(int argc, char **argv)
{
vector<int> list{1, 2, 3, 4, 5};
PrintStlContainer(list);
return 0;
}
輸出結果:
1 2 3 4 5