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()函数的方式?