バイナリ ファイルの一部をさまざまな型の変数に読み込むクラスがあります。
class Foo {
public:
size_t getSizeT();
float getFloat();
std::string getString();
private:
std::ifstream stream;
};
この回答で説明されているように、ストリーム抽出演算子を実装したいと思います。
class Foo {
public:
Foo &operator>>(Foo &foo, size_t &value);
Foo &operator>>(Foo &foo, float &value);
Foo &operator>>(Foo &foo, std::string &value);
private:
std::ifstream stream;
};
コードは次のエラー メッセージでコンパイルに失敗します: error C2804: binary 'operator >>' has too many parameters
。ストリーム抽出演算子を適切にオーバーライドするには? タイプを区別し、連鎖可能にする必要があります。