C++ C++;操作员意外错误
我试图为这样的类定义一个运算符: 文件.hC++ C++;操作员意外错误,c++,operator-overloading,C++,Operator Overloading,我试图为这样的类定义一个运算符: 文件.h bool operator<<(XMLPair *p2); bool操作符左侧必须是对象,而不是指针,请尝试: (*p1) << p2; (*p1)左侧必须是对象,而不是指针,请尝试: (*p1) << p2; (*p1)p1是指针;成员运算符的左手参数必须是对象。因此,您需要: (*p1) << p2; (*p1)p1是指针;成员运算符的左手参数必须是对象。因此,您需要: (*p1) <&
bool operator<<(XMLPair *p2);
bool操作符左侧必须是对象,而不是指针,请尝试:
(*p1) << p2;
(*p1)左侧必须是对象,而不是指针,请尝试:
(*p1) << p2;
(*p1)p1
是指针;成员运算符的左手参数必须是对象。因此,您需要:
(*p1) << p2;
(*p1)p1
是指针;成员运算符的左手参数必须是对象。因此,您需要:
(*p1) << p2;
(*p1)您声明了指向p1的指针,并调用了指针上的运算符。
尝试调用运算符on(*p1),而不是p1。您声明了指向p1的指针,并调用了运算符on pointer。
尝试调用(*p1)上的运算符,而不是p1。是否应该使用:(*p1)是否应该使用:(*p1)
(*p1) << p2;
// Remove `const` as necessary, if the operator needs to modify either operand
bool operator<<(XMLPair const & p2) const;
XMLPair p1, p2;
p1 << p2;