Я запутался в использовании указателей и ссылок и столкнулся с небольшой проблемой.
Я получил функцию:
bool myObject::isFlag( QString &pArgument) const { }
И я использую это с:
QStringList::const_iterator myQStringList.begin();
[...] && !isFlag( QString( *(myVar + 1)))
Я получил ошибку за
QString( *(myVar + 1)))
который указывает, что соответствующая функция не найдена.
Однако я почти уверен, что это должно быть хорошо … Вы случайно не знаете, в чем может быть проблема?
В этом звонке
isFlag( QString( *(myVar + 1)))
аргумент временный QString
, Вы не можете привязывать неконстантные ссылки к временным файлам, вам нужно изменить isFlag
взять константную ссылку:
bool myObject::isFlag( const QString &pArgument) const {
Если вы не можете использовать const
ссылка, то вы должны создать QString
, затем передайте его функции:
QString qs( *(myVar + 1));
isFlag(qs);
Все вышеперечисленное предполагает, что QString
может быть построен из, *(myvar +1)
что, опять же, временно.
Других решений пока нет …