0

仍然无法让这个工作。请帮忙!

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;
};
4

1 回答 1

4

data是的成员,C因此应该被访问为C.data(记住你operator<<是一个自由函数而不是成员Container):

    for(size_t i = 0; i != C.data.size(); ++i)
        ostr << C.data[i] << " "; 
于 2013-08-29T18:22:28.273 回答