嘿傢伙?我是新來的整個C++標準庫的東西,但對於我的魔鬼,我無法弄清楚爲什麼這個程序沒有給我我希望的輸出。C++矢量和函數 - 無法讓程序工作。需要幫助,
#include <iostream>
#include <vector>
#include <iterator>
/*
create_vec should initialise my vector and return an iterator pointing to
it.
*/
template <typename s>
typename std::vector<s>::iterator create_vec(s var) {
std::vector<s> tempVec;
tempVec.push_back(var);
auto itr = tempVec.begin();
return itr;
}
int main() {
std::vector<int>::iterator itr = create_vec<int>(148);
std::cout << *itr << "was passed." << std::endl;
return 0;
}
O/P:0被傳遞到創建VEC功能
P.S忽略所有的std的。我想知道在每個時刻我得到每種類型,功能等。
是否有任何理由不能簡單地在main中創建一個std :: vector?這是爲了練習嗎? – synchronizer
不相關,但你使用'std ::'前綴是好的。我*從不*使用'使用名稱空間標準',而是使用名稱空間前綴。 –
是的,這是爲了練習。 –