仍然无法让这个工作。请帮忙!
template <typename T>
class Container{
public:
...
friend ostream& operator<<(ostream& ostr, const Container<T>& C)
{
for(size_t i=0; i!= data.size(); i++) // ERROR
ostr<<data[i]<<" ";
return ostr;
}
private:
vector<T> data;
};
最佳答案
data
是 C
的成员因此应作为 C.data
访问(请记住,您的 operator<<
是一个 free function 而不是 Container
的成员):
for(size_t i = 0; i != C.data.size(); ++i)
ostr << C.data[i] << " ";
关于c++ - '.size' 的左边必须有类/结构/union ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18518292/