将函数返回值传递给参考参数导致GCC中的编译错误

Sha*_* Zi 5 c++ gcc reference pass-by-reference

假设我声明了这个函数:

class A
{
...
 public:
   void setRect(Rect & rct);
...
}
Run Code Online (Sandbox Code Playgroud)

该成员setRect被称为这样.

A a;
a.setRect(Some_Func_Return_A_Rect_Object());
Run Code Online (Sandbox Code Playgroud)

gcc编译器抱怨找不到匹配的函数A :: setRect(Rect)

如果我这样打电话,那很好:

A a;
Rect rct = Some_Func_Return_A_Rect_Object();
a.setRect(rct);
Run Code Online (Sandbox Code Playgroud)

标准是否对此有所说明?GCC只是不允许第一种调用setRect()函数的方式?