使用C++的模板函数做展示输出

template <typename T>
    inline void displayVector(vector<T>& vec){
    	for(T v : vec)cout << v;
    	cout << endl;
	}
	
	template <typename T, typename S>
	inline void displayMap(map<T, S>& mp){
		for(typename map<T, S>::iterator iter = mp.begin(); iter!=mp.end(); iter++)cout << iter->first << " " << iter->second << endl;
	}
	
	template <typename T, typename S>
	inline void displayMapVector(map<T, vector<S>>& mp){
		for(typename map<T, vector<S>>::iterator iter = mp.begin(); iter != mp.end(); iter++)cout << iter->first << " " << displayVector(iter->second);
	}

报错后在map::iterator前面加个typename声明模板类型是类型名即可。
参考链接:
Error: need ‘typename’ before iterator [duplicate]
编译错误need 'typename' before *** because *** is a dependent scope 浅析

相关文章:

  • 2021-11-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-18
  • 2022-12-23
  • 2021-11-14
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-25
  • 2022-12-23
  • 2022-12-23
  • 2021-08-20
  • 2021-10-21
相关资源
相似解决方案