Reference initialization and direct vs indirect binding
问题 Consider the following case struct A { operator int(); }; int &&x = A(); The spec says at http://eel.is/c++draft/dcl.init.ref#5 about whether the reference binding is direct or indirect In all cases except the last (i.e., creating and initializing a temporary from the initializer expression), the reference is said to bind directly to the initializer expression. The case above doesn't match the last, but the second last bullet. If T1 or T2 is a class type and T1 is not reference-related to T2,