|
0 / 0 / 0
Регистрация: 13.09.2022
Сообщений: 21
|
||||||
Передача параметров в поток13.09.2022, 20:00. Показов 4530. Ответов 31
Создаю объект класса thread, выдает ошибку что нет перегруженной функции std::thread::thread, принимающей 6 аргументов. Функцию со строкой прикрепляю
0
|
||||||
| 13.09.2022, 20:00 | |
|
Ответы с готовыми решениями:
31
Pthread взывать поток без параметров Передача функторов в поток |
|
687 / 444 / 209
Регистрация: 18.10.2020
Сообщений: 1,606
|
|
| 13.09.2022, 20:10 | |
|
Иван184848, у вас 5 параметров в объявлении)
void rend(s_pole** pole, s_types* types, s_bots* bots, RenderWindow &(win), int* mode)
0
|
|
|
0 / 0 / 0
Регистрация: 13.09.2022
Сообщений: 21
|
|
| 13.09.2022, 20:12 [ТС] | |
|
объекты thread вроде бы так и создаются (сначала имя функции, а потом через запятую ее параметры)
0
|
|
|
687 / 444 / 209
Регистрация: 18.10.2020
Сообщений: 1,606
|
|
| 13.09.2022, 20:16 | |
|
а может быть там нужно параметры в {} заключить?
0
|
|
|
0 / 0 / 0
Регистрация: 13.09.2022
Сообщений: 21
|
|
| 13.09.2022, 20:18 [ТС] | |
|
Пробовал уже, пишет что нет перегруженной функции, принимающей 2 параметра, и еще ошибка добавляется: отсутствуют экземпляры конструктора thread, соответствующие списку аргументов
0
|
|
|
687 / 444 / 209
Регистрация: 18.10.2020
Сообщений: 1,606
|
|
| 13.09.2022, 20:21 | |
|
такс... ну там есть конструктор с двумя параметрами: Function и Args... попробуйте запихнуть аргументы в класс Args, а функцию в Function
0
|
|
|
0 / 0 / 0
Регистрация: 13.09.2022
Сообщений: 21
|
|
| 13.09.2022, 20:23 [ТС] | |
|
а как это реализовать?
0
|
|
|
687 / 444 / 209
Регистрация: 18.10.2020
Сообщений: 1,606
|
|
| 13.09.2022, 20:30 | |
|
может через std::ref передавать параметры?
Добавлено через 23 секунды https://radioprog.ru/post/1403
0
|
|
|
0 / 0 / 0
Регистрация: 13.09.2022
Сообщений: 21
|
|
| 13.09.2022, 20:38 [ТС] | |
|
если сделать через ссылку передачу аргументов в функцию, там еще полезут ошибки в самой функции, которые мне лень фиксить, ну а если серьезно все равно это не похоже на решение т.к все равно будет 6 аргументов, 5 из которых вида ref(arg)
Добавлено через 3 минуты я поместил все аргументы в ref() все равно тоже самое
0
|
|
|
687 / 444 / 209
Регистрация: 18.10.2020
Сообщений: 1,606
|
|
| 13.09.2022, 20:43 | |
|
такс, ну тогда нужно ждать более опытных товарищей с форума и гуглить вское разное(
0
|
|
|
Вездепух
12937 / 6804 / 1821
Регистрация: 18.10.2014
Сообщений: 17,217
|
||||||||
| 13.09.2022, 21:24 | ||||||||
RenderWindow &(win). (Зачем тут лишние скобки, кстати?)Если вы собраетесь использовать параметры типа "ссылка" в функциях потока, то тогда помните, что передачу аргументов для таких параметров следует делать с помощью std::ref/std::cref
2. Вы что-то выдумываете.
0
|
||||||||
|
0 / 0 / 0
Регистрация: 13.09.2022
Сообщений: 21
|
|
| 13.09.2022, 21:27 [ТС] | |
|
скопировал вашу строчку и вставил вместо своей, все то же самое
Добавлено через 33 секунды нет функции принимающей 6 аргументов
0
|
|
|
Вездепух
12937 / 6804 / 1821
Регистрация: 18.10.2014
Сообщений: 17,217
|
||
| 13.09.2022, 21:39 | ||
|
Попробовал на искусственном примере http://coliru.stacked-crooked.... 5d39315105 Все прекрасно компилируется. А вот что вы там еще не договориваете - откуда ж нам знать. Телепатов нет. Кстати, почему в вашем вопросе (и до сих пор) не приведены объявления переменных-аргументов, которые вы передаете? Где это все? Как мы должны проверить правльность вашего вызова, не зная типов передаваемых аргументов? Телепатически?
0
|
||
|
Модератор
|
||||||||||||
| 13.09.2022, 21:54 | ||||||||||||
|
Ваш компилятор поддерживает С++11 ? Функция rend одна с таким именем? Она не член класса? Нет сообщений о неопределённой функции rend ? Попробуйте минимизировать код который вызывает проблему, вроде
0
|
||||||||||||
|
0 / 0 / 0
Регистрация: 13.09.2022
Сообщений: 21
|
|
| 13.09.2022, 21:58 [ТС] | |
|
Извиняюсь, что не указал. Думал и так понятно что все это структуры. Вот только RenderWindow это метод библиотеки Sfml. (или структура, не очень разбираюсь), а остальные структуры - динамические массивы структур. Но во всяком случае функция без thread работает абсолютно исправно. Завтра попробую минимизировать код, чтобы понять где ошибка
0
|
|
|
Вездепух
12937 / 6804 / 1821
Регистрация: 18.10.2014
Сообщений: 17,217
|
||
| 13.09.2022, 21:59 | ||
& при передаче какого-то аргумента (скажем, mode) тоже приведет к такому эффекту. Какой тип у аргумента mode?
0
|
||
|
0 / 0 / 0
Регистрация: 13.09.2022
Сообщений: 21
|
||||||
| 13.09.2022, 22:23 [ТС] | ||||||
|
Ща побольше кода прикреплю
обьявление win еще забыл: RenderWindow win(VideoMode(1920,1050), "Window");
0
|
||||||
|
Вездепух
12937 / 6804 / 1821
Регистрация: 18.10.2014
Сообщений: 17,217
|
||
| 13.09.2022, 22:35 | ||
int *, а вы туда передаете аргумент типа int.Почему вы передаете int туда, где ожидается int *? И к потокам это все не имет никакого отношения.
0
|
||
|
0 / 0 / 0
Регистрация: 13.09.2022
Сообщений: 21
|
|
| 14.09.2022, 06:58 [ТС] | |
|
Мы не в то сторону думаем, я сейчас исправлю mode на &mode, но выдавать ошибку ту же будет, дело не правильности параметров, а в оформлении судя по ошибке.
Добавлено через 2 минуты Компилятор Vs 2019 Community. Ща скрины кину
0
|
|
| 14.09.2022, 06:58 | |
|
Помогаю со студенческими работами здесь
20
C++ передача 2 сокетов в поток Передача переменных в поток C++ 11 передача ссылки в поток thread
Передача в поток многомерных массивов по указателю Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|