例2:
template 与 vector问题
#include<iostream> using namespace std; #include <vector> using namespace std; template<typename TAV> class Container { private: vector<TAV> m_List; public: void add(TAV node) { m_List.push_back(node); } void Get() { for(typename vector<TAV>::iterator it = m_List.begin(); it != m_List.end(); ++it) //需要添加typename { std::cout << *it << std::endl; } } }; int main() { Container<int> t; t.add(1); t.Get(); }例3:
template中编译出现undefined file问题
解决办法:
c++ 模板不支持分离编译模型,把实现文件中的定义移到头文件中就行了。
简单应用 后续继续扩展