当调用不修改数据的函数时,它仍会报告警告"成员函数将在initonly数据成员的副本上调用"。我调用的函数是ToString的虚拟覆盖。
public value struct A
{
virtual System::String^ ToString() override { return "a"; }
};
public value struct B
{
initonly A a;
virtual System::String^ ToString() override { return a.ToString(); } // <-- warning and copy of a is created
};
如何阻止创建副本并直接在&#39; a&#39;?
上调用ToString