大家好我有一个Foo类,有一个fooAddress成员变量
foo.h中的代码
Class Foo
{
String fooAddress() const;
void setFooAddress(String fooAddress)
....
String m_fooAddress;
}
foo.cpp中的代码
String Foo::fooAddress() const
{
return m_fooAddress;
}
void Foo::setFooAddress(String fooAddress)
{
m_fooAddress = fooAddress;
}
现在我有一个FooList类,它有一个foos列表
FooList.h中的代码
class FooList
{
editFooList(Foo foo,int index);
...
private:
List<Foo> m_fooArray;
}
现在我在FooList.cpp中的代码是
void FooList::editFooList(Foo foo, int index)
{
m_fooArray.at(index).setFooAddress(foo.fooAddress());
}
但是我收到了错误 错误:C2662:&#39; void Foo :: setFooAddress(String)&#39; :不能转换这个&#39;指针来自&#39; const Foo&#39;到&#39; Foo&amp;&#39;
由于我没有将editFooList定义为const函数,我不确定为什么编译器在我试图修改m_fooArray时抱怨。有人请指出我做错了什么?
答案 0 :(得分:0)
我将代码更改为
void FooList::editFooList(Foo foo, int index)
{
m_fooArray[index].setFooAddress(foo.fooAddress());
}
现在正在编译