【发布时间】:2011-09-14 12:12:05
【问题描述】:
#include <iostream>
#include <string>
using namespace std;
class phonebook
{
string name;
string prefix;
public:
phonebook(string &name, string &prefix)
{
this->name = name;
this->prefix = prefix;
}
friend istream &operator>>(istream &in, phonebook &book);
};
istream &phonebook::operator>>(istream &in, phonebook &book)
{
in >> book.name >> book.prefix;
return in;
}
int main()
{
return 0;
}
当我尝试使用 g++ 4.6.1 编译这段代码时:
"main.cpp:20: error: ‘std::istream& phonebook::operator>>(std::istream&, phonebook&)’ 必须只有一个参数”
PS:问这个问题很愚蠢……太明显了:S。不过还是谢谢你。
【问题讨论】:
标签: c++ operator-overloading overloading