Привет всем У меня есть класс Foo, имеющий переменную-член fooAddressНевозможно преобразовать «это» указатель из «сопзЬ Foo» к «Foo &» ошибки
код в foo.h
Class Foo
{
String fooAddress() const;
void setFooAddress(String fooAddress)
....
String m_fooAddress;
}
кодекса в обув .cpp
String Foo::fooAddress() const
{
return m_fooAddress;
}
void Foo::setFooAddress(String fooAddress)
{
m_fooAddress = fooAddress;
}
Теперь у меня есть FooList класс, который имеет список Фоос
код в 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: 'недействительными Foo :: setFooAddress (String)': не может преобразовать 'это' указатель от 'const Foo' до 'Foo &'
Поскольку я не определил editFooList как функцию const, я не уверен, почему компилятор жалуется, когда я пытаюсь изменить m_fooArray.Can кто-то, пожалуйста, укажите мне, что я делать не так?
Ваш C++ воспроизводится в этой публикации метко? В вашем коде есть 'foo ::', а не 'Foo ::'. Также я вижу «QString», а не «String» в местах. Вы используете Qt вместо STL? – Dai
также "editFooList (foo foo, int index);" не следует компилировать. – ApplePie
«Foo» балка пружины. –