std::vector
有一個名爲size()
方法,它可以返回此vector.So的大小,我們可以這樣寫:
class my_message
{
friend std::ostream &operator<<(std::ostream &os, my_message &c);
public:
my_message(std::vector<std::string> v) :messages(v) {}
private:
std::vector<std::string> messages;
};
std::ostream &operator<<(std::ostream &os, my_message &c)
{
for(std::size_t index = 0; index < c.messages.size(); ++index)
os << index <<": " << c.messages[index] << std::endl;
return os;
}
如果my_message.messages
是私有的,std::ostream &operator<<(std::ostream &, my_message)
應該是my_message
朋友會員。
請提供一個[mcve],什麼是'my_message'?並且,寫下你已經嘗試過的以及它失敗的原因 –