2013-08-29 115 views
0

仍然無法讓這個工作。請幫忙!'.size'左邊必須有class/struct/union

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; 
}; 
+3

咦? MVP在哪裏? –

+0

我在這裏沒有看到任何MVP,但'data'是'C'的一部分。 – chris

+0

@OliCharlesworth data.size()拋出:「.size'的左邊必須有class/struct/union」 – user2696565

回答

4

dataC成員,因此應C.data訪問(記住,你的operator<<free function而不是Container成員):

for(size_t i = 0; i != C.data.size(); ++i) 
     ostr << C.data[i] << " "; 
相關問題