Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.75
ExFau$t
263 / 238 / 43
Регистрация: 08.05.2012
Сообщений: 1,282
#1

Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков - C++

30.06.2014, 15:50. Просмотров 2072. Ответов 50
Метки нет (Все метки)

Здравствуйте, можно ли изменить степень вложения в свойствах компилятора или как то обойти ошибку (сокращение и изменение циклов внутри программы невозможно, все возможные слияния циклов уже произведены)?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2014, 15:50     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков
Посмотрите здесь:
Error C2017: недопустимая escape-последовательность C++
Ошибки fatal error U1052 и error MSB3073 C++
fatal error LNK1318: Unexpected PDB error; OK (0) '' C++
C++ Error LNK2019 и fatal error LNK1120
Range error: -1 ошибка компилятора выскакивает C++
C++ Fatal error C1083
C++ Fatal error c1033
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Somebody
2786 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,190
Завершенные тесты: 1
30.06.2014, 22:28     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #2
Какой компилятор-то?
И сколько же это надо было вкладывать, чтобы так вышло? В стандарте рекомендуется минимум 256 уровней... Наверняка можно что-нибудь по функциям раскидать.
ExFau$t
263 / 238 / 43
Регистрация: 08.05.2012
Сообщений: 1,282
30.06.2014, 22:36  [ТС]     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #3
среда Visual C++, степень вложения по умолчанию 250 - здесь имеется в виду не 250 раз цикл в цикле, а 250 корневых цикла, меньше уже никак нельзя.
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
30.06.2014, 22:41     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #4
http://msdn.microsoft.com/en-us/library/dcda4f64.aspx
To fix this error you must refactor your code.
ExFau$t
263 / 238 / 43
Регистрация: 08.05.2012
Сообщений: 1,282
30.06.2014, 22:48  [ТС]     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #5
Отсюда я и выписал название темы, что это значит понятно, как исправить, не травмируя код, в котором отсутствуют одинаковые операции и циклы?
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
30.06.2014, 23:43     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #6
Цитата Сообщение от ExFau$t Посмотреть сообщение
меется в виду не 250 раз цикл в цикле, а 250 корневых цикла, меньше уже никак нельзя.
Это как понимать? Дайте код посмотреть.
ExFau$t
263 / 238 / 43
Регистрация: 08.05.2012
Сообщений: 1,282
30.06.2014, 23:59  [ТС]     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #7
не так:
C++
1
2
3
 for 
            for 
                 for
а так:
C++
1
2
3
4
5
6
7
8
for
{
 ...;
}
for
{
 ...;
}
В коде овер 1500 строк, не вижу смысла их выкладывать.
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
01.07.2014, 00:05     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #8
Цитата Сообщение от ExFau$t Посмотреть сообщение
а так:
а ну эт студийный баг: http://support.microsoft.com/kb/315481
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
01.07.2014, 07:26     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #9
ExFau$t, разбейте на функции. Страшно представить всё это в одной единственной функции.
Kukurudza
01.07.2014, 07:38
  #10

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
Страшно представить всё это в одной единственной функции.
250 циклов в одной функции? легко.
пока учился в универе такого насмотрелся. вот некоторые интересные вещицы (оговорюсь, что все это делали круглые отличницы, сейчас имеют красные дипломы. факультет математики и программирования)
1. программа выдает таблицу в 6 столбцов и очень много строк (овер 100). многоуважаемые копировали по одной записи из блокнота в ексель, так как не имеют представления о разделителях. прошел мимо.
2. решение задачи на ноутбуке на экзамене у одной дамы занимало около получаса. как велико было мое удивление (6 курс) когда девочка понятие не имеет ни только об оптимизациях, но и о релиз/дебаг (считала в дебаге). начал показывать как правильно, сказали: не лезь я сама знаю.
3. ну и про 1500 строк в одной функции? запросто. на 3-4 курсах видал миллион таких курсовиков. с кучей дублирующихся строк.
так чито все возможно.
как поставить тег не по теме?

ExFau$t
263 / 238 / 43
Регистрация: 08.05.2012
Сообщений: 1,282
01.07.2014, 09:44  [ТС]     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #11
Разбиение на функции не приведет к сокращению циклов, так как отсутствуют однотипные действия.
aleks_tar
2 / 2 / 0
Регистрация: 19.06.2014
Сообщений: 17
01.07.2014, 10:36     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #12
Цитата Сообщение от ExFau$t Посмотреть сообщение
Разбиение на функции не приведет к сокращению циклов, так как отсутствуют однотипные действия.
А можно ли структурировать циклы, которые выполняют схожие действия или выполняют действия над одним объектом, и вынести такие циклы в отдельную функцию?
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
01.07.2014, 11:05     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #13
Цитата Сообщение от ExFau$t Посмотреть сообщение
Разбиение на функции не приведет к сокращению циклов, так как отсутствуют однотипные действия.
Насколько я понимаю, баг МС проявляется когда >250 циклов в ОДНОЙ функции, а если будет 250 функций по одному циклу в каждой, то последовательный вызов этих 250 функций будет работать нормально.

Не по теме:

Цитата Сообщение от Kukurudza Посмотреть сообщение
250 циклов в одной функции? легко.
А главное - "правильно"


ExFau$t, всё же я настаиваю на публикации Вашего кода. Пусть даже в виде архива или под спойлером, чтобы не резать глаз первому встречному. Иначе вся эта тема продолжит скатываться в унылый троллинг.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
01.07.2014, 11:08     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #14
Для какой цели может потребоваться такое количество вложенных циклов? Для реализации чего?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2014, 11:11     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков
Еще ссылки по теме:
C++ fatal error C1004
ошибка fatal error C++
fatal error LNK1120 C++
C++ Fatal error LNK1120:
C++ Шифрование ГОСТ, error C1021: "Недопустимая команда препроцессора"

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

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
01.07.2014, 11:11     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #15
Цитата Сообщение от castaway Посмотреть сообщение
такое количество вложенных циклов?
Они не вложенные друг в друга, а вложенные в функцию (см.#7). Хотя причина их появления всё равно интересна.
Yandex
Объявления
01.07.2014, 11:11     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru