I don't see a reason why this should fail if lines 9-12 are not within the MyClass definition. I wonder what would happen if you removed the inline keyword. This causes very specific compile-time things to happen.
Edit: I wouldn't consider this a begginer question so +1 for underestimating yourself.
My compiler works without adding the friend keyword. (I just copied your code to see if the compiler would scream).
Can you give me an example on where you defined it and where you use it?
EDIT: I do believe like Stewbond, that the inline keyword is messing up with your compile units.
RE-EDIT: I suppose that within your operator overload you call the other relational operators for the following struct/classes: Alfa, Beta, Gamma. Did you create member operators for those struct/classes with the appropriate number of parameters?... I think that's why it is messing with you :)
SeiZa thanks for having tried the sample code, you are right! And I am an ape!:)
I extrapolated that piece from some mess, only now I am becoming aware I am inside a class definition, opened somewhere above the error.
The compiler believes the operator is defined for the outer class.