An operation of the form x
op y
, where op is an overloadable binary operator, x
is an expression of type X
, and y
is an expression of type Y
, is processed as follows:
X
and Y
for the operation operator
op(x,
y)
is determined. The set consists of the union of the candidate operators provided by X
and the candidate operators provided by Y
, each determined using the rules of §7.2.5. If X
and Y
are the same type, or if X
and Y
are derived from a common base type, then shared candidate operators only occur in the combined set once.operator
op implementations become the set of candidate operators for the operation. The predefined implementations of a given operator are specified in the description of the operator (§7.7 through §7.13).(x,
y)
, and this operator becomes the result of the overload resolution process. If overload resolution fails to select a single best operator, an error occurs.