Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 25.11.2014
Сообщений: 42

Локальное лямбда-выражение не допускается в функции-члене класса управляемый

19.11.2015, 15:12. Показов 1649. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, мне хотелось бы распараллелить алгоритм с помощью parallel_invoke, чтобы ускорить вычисления,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    Concurrency::parallel_invoke (
            [Cn_Z, Cn_Y, K, C_SpTdel, &Hx, &mu_X,&Ey, &Ez]
        { for (int c = (Cn_Z*Cn_Y + Cn_Z + Cn_Y + 3); c < (K - Cn_Y*Cn_Z - Cn_Z - Cn_Y - 3); c++) {
            int z = (c + 1);
            int y = (c + Cn_Z + 1);
            int x = (c + Cn_Z*Cn_Y + Cn_Y + Cn_Z + 1);
 
            Hx[c] = Hx[c] - C_SpTdel / mu_X[c] * (Ez[y] - Ez[c] - (Ey[z] - Ey[c]));
        }},
            [Cn_Z, Cn_Y, K, C_SpTdel,&Hy, &mu_Y,&Ex,&Ez] {
            for (int c = (Cn_Z*Cn_Y + Cn_Z + Cn_Y + 3); c < (K - Cn_Y*Cn_Z - Cn_Z - Cn_Y - 3); c++) {
                int z = (c + 1);
                int y = (c + Cn_Z + 1);
                int x = (c + Cn_Z*Cn_Y + Cn_Y + Cn_Z + 1);
                Hy[c] = Hy[c] - C_SpTdel / mu_Y[c] * (Ex[z] - Ex[c] - (Ez[x] - Ez[c]));
            }},
            [Cn_Z, Cn_Y, K, C_SpTdel,  &Hz, &mu_Z, &Ex, &Ey] {
                for (int c = (Cn_Z*Cn_Y + Cn_Z + Cn_Y + 3); c < (K - Cn_Y*Cn_Z - Cn_Z - Cn_Y - 3); c++) {
                    int z = (c + 1);
                    int y = (c + Cn_Z + 1);
                    int x = (c + Cn_Z*Cn_Y + Cn_Y + Cn_Z + 1);
                    Hz[c] = Hz[c] - C_SpTdel / mu_Z[c] * (Ey[x] - Ey[c] - (Ex[y] - Ex[c]));
                }
                }
            );
но в коде компилятор подчёркивает квадратные скобки в коде и выдаёт ошибку: локальное лямбда-выражение не допускается в функции-члене класса управляемый. Как с этим быть и что это означает?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.11.2015, 15:12
Ответы с готовыми решениями:

Член класса управляемый не может относиться к типу класса не управляемый
&quot;член класса управляемый не может относиться к типу класса не управляемый&quot; Не могу понять что делать с этой ошибкой и как...

Лямбда выражение как аргумент функции
Есть такая функция сортировки: template &lt;typename type&gt; void TQuickSort(type* arr, int first, int last, bool(*compare)(const...

Лямбда выражение в качестве передаваемого аргумента функции
Добрый день! Подскажите пожалуйста, могу ли я в функциях библиотеки Qt использовать в качестве передаваемого аргумента лямбда...

1
0 / 0 / 0
Регистрация: 25.11.2014
Сообщений: 42
20.11.2015, 17:01  [ТС]
Я, конечно, не знаю, возможно это тупой вопрос, но что можно сделать с кодом(классом) чтобы он из управляемого стал неуправляемым? Я читала, что нужно отключить CLR. Это так? Где его можно отключить и возможно ли это, если сам класс - это форма(WindowsForm)?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.11.2015, 17:01
Помогаю со студенческими работами здесь

Лямбда Выражение как простой вызов функции.
Здравствуйте, подскажите несведующему, чтобы использовать лямбда выражения нужен делегат и и какое -то возвращаемое значение. А вот...

Не работают функции <math.h> в методе (функции-члене)
Сделал программу которая решает по формуле задачу. Все работает, но стоило вынести нахождение y в функцию, как компилятор стал писать...

Член класса управляемый не может относиться к типу класса неуправляемый
Подскажите пожалуйста, что за ошибка &quot;Член класса управляемый не может относиться к типу класса неуправляемый&quot;? #include...

Как передать аргументу в функции-члене значение переменной
Здравствуйте! Хочу передать в аргументы функции-члена значение переменной, которая имеет значение, исходя из работы других...

Лямбда выражение
Список dest содержит информацию о ценах на перелеты в виде субтитров: port_wylety port_prilety cena_w_EUR Необходимо создать список...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru