1

ostream operator<< をオーバーロードしようとしていますが、関数の本体で for ループを使用したいと考えています。メモリは私が作ったクラスで、その内部構造はベクトルです。したがって、基本的には、メモリを出力ストリームに渡すときに、ベクトルを調べて、その中にあるすべてのものを出力したいだけです。

std::ostream& operator<<(std::ostream& out, const Memory& mem) 
{
    int curr(mem.get_current());
    for (int i = 0; i <= curr; ++i) 
    {    
        return out << mem.mem_[i] << std::endl;
    }
}

コンパイラは、非 void を返す関数には戻り値がないと言います。

4

2 に答える 2

3
std::ostream& operator<<(std::ostream& out, const Memory& mem) {
  int curr(mem.get_current());
  for (int i = 0; i <= curr; ++i) {
    out << mem.mem_[i] << std::endl;
  }
  return out;
}
于 2013-10-28T14:15:47.430 に答える