gpt4 book ai didi

c++ - 错误 : ‘Integer Integer::operator<<(const Integer&, const Integer&)’ must take exactly one argument

转载 作者:行者123 更新时间:2023-11-30 03:04:19 32 4
gpt4 key购买 nike

#include <iostream>
#include <fstream>
using namespace std;

class Integer
{
public:
int i;

Integer (int ll = 0, int k = 0) : i (ll)
{
cout << "\nconstructor A\n";
}

Integer operator<< (const Integer& left, const Integer& right);
};

Integer operator<< (const Integer& left, const Integer& right)
{
cout << "\ndsfdsfdsf : " << "===" << right.i << "\n";
return left ;
}

int main ()
{
Integer l;

l << 5 << 3 << 2;

return 0;
}

当我从 << operator 的声明中删除关键字 friend 时,此代码会出现上述标题错误。
这里没有任何隐私,为什么会这样?

最佳答案

当运算符声明不包含friend 时,该声明声明一个成员,并且该成员将其类作为其隐含的第一个参数。通过两个显式参数,这为二元运算符生成了三个参数。

关于c++ - 错误 : ‘Integer Integer::operator<<(const Integer&, const Integer&)’ must take exactly one argument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8709515/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com