Let consider two objects of type A and B, for which we define the binary operator A [?] B. If we write in the code B [?] A, what does this produce ?
A [?] B
B [?] A
It performs the operation A [?] B
It raises a run-time error
It raises a compilation error
It's an undefined behavior