HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 29.03.2022, 00:41
Sen4ik
Новичок
Регистрация: 29.03.2022
Сообщений: 1
С нами: 2174037

Репутация: 1
По умолчанию

Блок кода с ошибкой:





Код:
void
QtLauncher
::
saveConfig
(
)
{
QFile
config
(
QCoreApplication
::
applicationDirPath
(
)
+
"/config.cfg"
)
;
config
.
open
(
QIODevice
::
ReadOnly
)
;
QByteArray buffer
=
config
.
readAll
(
)
;
config
.
close
(
)
;
config
.
open
(
QIODevice
::
ReadWrite
|
QIODevice
::
Truncate
)
;
int
index
;
if
(
(
index
=
buffer
.
indexOf
(
QString
(
"game_id="
)
)
)
!=
-
1
)
{
char
str
[
32
]
;
sprintf_s
(
str
,
sizeof
(
str
)
,
"game_id=%i"
,
game_id
)
;
buffer
.
replace
(
index
,
buffer
.
indexOf
(
"\n"
,
index
)
,
str
)
;
}
if
(
(
index
=
buffer
.
indexOf
(
QString
(
"username="
)
)
)
!=
-
1
)
{
char
str
[
256
]
;
sprintf_s
(
str
,
sizeof
(
str
)
,
"username=%s,%s,%s,%s"
,
game_username
[
0
]
.
toStdString
(
)
.
c_str
(
)
,
game_username
[
1
]
.
toStdString
(
)
.
c_str
(
)
,
game_username
[
2
]
.
toStdString
(
)
.
c_str
(
)
,
game_username
[
3
]
.
toStdString
(
)
.
c_str
(
)
)
;
buffer
.
replace
(
index
,
buffer
.
indexOf
(
"\n"
,
index
)
-
index
,
str
)
;
}
if
(
(
index
=
buffer
.
indexOf
(
QString
(
"game_path="
)
)
)
!=
-
1
)
{
char
str
[
256
]
;
sprintf_s
(
str
,
sizeof
(
str
)
,
"game_path=%s,%s,%s,%s"
,
game_path
[
0
]
.
toStdString
(
)
.
c_str
(
)
,
game_path
[
1
]
.
toStdString
(
)
.
c_str
(
)
,
game_path
[
2
]
.
toStdString
(
)
.
c_str
(
)
,
game_path
[
3
]
.
toStdString
(
)
.
c_str
(
)
)
;
buffer
.
replace
(
index
,
buffer
.
size
(
)
-
index
,
str
)
;
}
config
.
write
(
buffer
)
;
config
.
close
(
)
;
}


Вот блок с кодом. Почему то после компиляции выдает ошибку:

Ошибка:





Код:
D:\mp-launcher\launcher.cpp:288: ошибка: no matching function for call to 'QByteArray::indexOf(QString)'
launcher.cpp: In member function 'void QtLauncher::saveConfig()':
launcher.cpp:288:31: error: no matching function for call to 'QByteArray::indexOf(QString)'
  288 |     if((index = buffer.indexOf(QString("game_id="))) != -1)
      |                 ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~


Я не представляю как это пофиксить, никак вообще ни в какую. Проект не мой, потому не понимаю особо что к чему, мне дали на компиляцию. Помогите пожалуйста.

Работаю на QT Creator 6.0.1, qt 6.2.3 установлена, mingw, компилятор qmake.
 
Ответить с цитированием

  #2  
Старый 13.03.2023, 01:14
reussssya
Новичок
Регистрация: 12.03.2023
Сообщений: 28
С нами: 1671509

Репутация: 3
По умолчанию

ну ты и шапокляк, сижу 10 минут думаю... убери присваивание и поставь сравнение в условии, а еще, для метода класса QByteArray есть только 2 перегрузки функции indexOf, посмотри в документации, думаю сам разберешься

upd: в вики indexOf принимает не строку, а символ
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.