C++ c++;oop程序没有';我不能给出预期的结果
考虑以下程序:C++ c++;oop程序没有';我不能给出预期的结果,c++,class,oop,friend,C++,Class,Oop,Friend,考虑以下程序: class cls { int vi; public: cls(int v=37) { vi=v; } friend int& f(cls); }; int& f(cls c) { return c.vi; } int main() { const cls d(15); f(d)=8; cout<<f(d); return 0; } cls类 { in
class cls
{
int vi;
public:
cls(int v=37)
{
vi=v;
}
friend int& f(cls);
};
int& f(cls c)
{
return c.vi;
}
int main()
{
const cls d(15);
f(d)=8;
cout<<f(d);
return 0;
}
cls类
{
int vi;
公众:
cls(整数v=37)
{
vi=v;
}
友邦国际餐饮(cls);
};
内部和外部(cls c)
{
返回c.vi;
}
int main()
{
常数cls d(15);
f(d)=8;
cout您的程序有未定义的行为-您正在返回对函数局部变量的悬空引用(参数也是局部变量)。@gsamaras我将其编辑得更具体一些。