编译时出现C ++错误

时间:2013-03-31 13:48:45

标签: c++ operator-keyword

嗨,我正在做这个项目,当我编译它时,我收到了一个错误。

ostream& operator<<(ostream& os, CService& obj) {

        os<<obj.GetClient()<<obj.GetSeller()<<obj.GetMusic();
        return os;

    }

我得到的错误是:

error C2804: binary 'operator <<' has too many parameters
error C2333: '<<' : error in function declaration; skipping function body

1 个答案:

答案 0 :(得分:3)

你应该将这个函数声明在之外的类体中,并在CService类中将它声明为朋友。此外,不要忘记创建类对象const

friend std::ostream& operator <<(std::ostream& os, CService const &);