1
我试图超载运算符< <仅打印STL容器的每两个元素。但是,我在编译过程中有一个错误:错误:'e'不是类,名称空间或枚举
error: 'e' is not a class, namespace, or enumeration
这里是我的代码:
#include <iostream>
#include <vector>
template<typename T>
std::ostream& operator<<(std::ostream &out, T const &e){
for(e::iterator it = e.begin(); it != e.end(); it = it + 2){
out << *it << " ";
}
return out;
}
int main(){
std::vector<int> v;
for(int i= 0; i < 10; i++){
v.push_back(i);
}
std::cout << v;
return 0;
}
通过'T'更换Ë:: iterator' :: iterator' – purplepsycho
使用'汽车&& it' – 101010