C++ 添加cout作为友元运算符后,c++;仍然显示错误1)cout不明确。为什么?

C++ 添加cout作为友元运算符后,c++;仍然显示错误1)cout不明确。为什么?,c++,overloading,constants,cout,friend,C++,Overloading,Constants,Cout,Friend,即使将Cout添加为友元操作符,Cout仍然是不明确的。附件是我代码的一部分,我认为这可能有助于理解问题所在。IDE是VisualStudio 我尝试添加我看到的朋友,更正问题,希望现在可以更好地查看。这只是我认为与cout问题有关的代码的一部分,问问你自己,函数返回类型是什么,我返回什么?“显示为错误”对我们的帮助不如显示准确的错误文本,所以请编辑并包括它。我想anastaciu已经发现了这个问题,但是很高兴确认一下。你为什么还要自定义operator?看,纠正这个问题,希望现在能更好地查看。

即使将Cout添加为友元操作符,Cout仍然是不明确的。附件是我代码的一部分,我认为这可能有助于理解问题所在。IDE是VisualStudio


我尝试添加我看到的朋友,更正问题,希望现在可以更好地查看。这只是我认为与cout问题有关的代码的一部分,问问你自己,函数返回类型是什么,我返回什么?“显示为错误”对我们的帮助不如显示准确的错误文本,所以请编辑并包括它。我想anastaciu已经发现了这个问题,但是很高兴确认一下。你为什么还要自定义
operator?看,纠正这个问题,希望现在能更好地查看。这只是我认为与cout问题有关的代码的一部分,问问你自己,函数返回类型是什么,我返回什么?“显示为错误”对我们的帮助不如显示准确的错误文本,所以请编辑并包括它。我想anastaciu已经发现了这个问题,但最好确认一下。你为什么还要自定义
操作符呢
{


friend ostream &operator << (ostream &outs, const string &y);
};

ostream &operator << (ostream &outs, const string &y) {
outs << y;
return outs;

}
bool Stack::push(int x)
{
if (top >= (2 - 1)) {
    cout << "Stack Overflow";
    return false;
}