我想出了以下內容:傳遞一個std容器的功能
template <typename T> inline void printcontainer(std::vector<T> container)
{
for(auto it = container.begin(); it != container.end(); it++)
{
std::cout << *it << std::endl;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
std::vector<int> v;
v.push_back(5);
v.push_back(4);
v.push_back(3);
printcontainer(v);
return 0;
}
(對不起,我push_backs
,視覺工作室不接受初始化列表...啊!!)
現在這個函數被限制爲std::vector
,我怎樣才能讓它可以通過其他的容器,比如std::list
數組等等......
++您正在使用什麼版本的VC不支持初始化列表? – MikeMB
visual studio 2012,像'std :: vector v {1,2,3};'這樣的東西不被支持,所以你必須使用我非常鄙視的c樣式數組解決方法。它也沒有'std :: initializer_list'很奇怪的呃。 –
對,我已經習慣了C++ 11,我忘了VS採用了很多/最? C++ 11功能不在VS 2013之前。 – MikeMB