我有一个类,可以将二进制文件的一部分读入不同类型的变量中。
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
。如何正确覆盖流提取运算符?它应该区分类型并且可以链接。