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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.75
ExFau$t
55 / 55 / 4
Регистрация: 08.05.2012
Сообщений: 448
30.06.2014, 15:50     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #1
Здравствуйте, можно ли изменить степень вложения в свойствах компилятора или как то обойти ошибку (сокращение и изменение циклов внутри программы невозможно, все возможные слияния циклов уже произведены)?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2014, 15:50     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков
Посмотрите здесь:

[Linker Fatal Error] Fatal: Unable to open file 'CXGRIDVCLC6.LIB' C++
Error 1 fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory C++
Error 1 fatal error C1083: Cannot open include file: 'fstream.h': No such file or directory C++
C++ Error 1 fatal error C1093: API call 'ImportFile' failed '0x80070003' : ErrorMessage:
Error 1 fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
30.06.2014, 22:28     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #2
Какой компилятор-то?
И сколько же это надо было вкладывать, чтобы так вышло? В стандарте рекомендуется минимум 256 уровней... Наверняка можно что-нибудь по функциям раскидать.
ExFau$t
55 / 55 / 4
Регистрация: 08.05.2012
Сообщений: 448
30.06.2014, 22:36  [ТС]     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #3
среда Visual C++, степень вложения по умолчанию 250 - здесь имеется в виду не 250 раз цикл в цикле, а 250 корневых цикла, меньше уже никак нельзя.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11809 / 6788 / 767
Регистрация: 27.09.2012
Сообщений: 16,840
Записей в блоге: 2
Завершенные тесты: 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
55 / 55 / 4
Регистрация: 08.05.2012
Сообщений: 448
30.06.2014, 22:48  [ТС]     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #5
Отсюда я и выписал название темы, что это значит понятно, как исправить, не травмируя код, в котором отсутствуют одинаковые операции и циклы?
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
30.06.2014, 23:43     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #6
Цитата Сообщение от ExFau$t Посмотреть сообщение
меется в виду не 250 раз цикл в цикле, а 250 корневых цикла, меньше уже никак нельзя.
Это как понимать? Дайте код посмотреть.
ExFau$t
55 / 55 / 4
Регистрация: 08.05.2012
Сообщений: 448
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
Модератор
Эксперт С++
 Аватар для Croessmah
11809 / 6788 / 767
Регистрация: 27.09.2012
Сообщений: 16,840
Записей в блоге: 2
Завершенные тесты: 1
01.07.2014, 00:05     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #8
Цитата Сообщение от ExFau$t Посмотреть сообщение
а так:
а ну эт студийный баг: http://support.microsoft.com/kb/315481
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
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
55 / 55 / 4
Регистрация: 08.05.2012
Сообщений: 448
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
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
01.07.2014, 11:05     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #13
Цитата Сообщение от ExFau$t Посмотреть сообщение
Разбиение на функции не приведет к сокращению циклов, так как отсутствуют однотипные действия.
Насколько я понимаю, баг МС проявляется когда >250 циклов в ОДНОЙ функции, а если будет 250 функций по одному циклу в каждой, то последовательный вызов этих 250 функций будет работать нормально.

Не по теме:

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


ExFau$t, всё же я настаиваю на публикации Вашего кода. Пусть даже в виде архива или под спойлером, чтобы не резать глаз первому встречному. Иначе вся эта тема продолжит скатываться в унылый троллинг.
castaway
Эксперт С++
4838 / 2977 / 367
Регистрация: 10.11.2010
Сообщений: 11,008
Записей в блоге: 10
Завершенные тесты: 1
01.07.2014, 11:08     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #14
Для какой цели может потребоваться такое количество вложенных циклов? Для реализации чего?
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
01.07.2014, 11:11     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #15
Цитата Сообщение от castaway Посмотреть сообщение
такое количество вложенных циклов?
Они не вложенные друг в друга, а вложенные в функцию (см.#7). Хотя причина их появления всё равно интересна.
ExFau$t
55 / 55 / 4
Регистрация: 08.05.2012
Сообщений: 448
01.07.2014, 11:15  [ТС]     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #16
А можно, например, иметь несколько срр- файлов, при одном исполняемом, при последовательном их выполнении?
castaway
Эксперт С++
4838 / 2977 / 367
Регистрация: 10.11.2010
Сообщений: 11,008
Записей в блоге: 10
Завершенные тесты: 1
01.07.2014, 11:43     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #17
Мы код увидим или нет?
ExFau$t
55 / 55 / 4
Регистрация: 08.05.2012
Сообщений: 448
01.07.2014, 11:44  [ТС]     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #18
Нет, плагиат, знаете ли, не дремлет.
ExFau$t
55 / 55 / 4
Регистрация: 08.05.2012
Сообщений: 448
01.07.2014, 11:46  [ТС]     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #19
Скажите, пожалуйста, как сослаться из одного срр во второй, через include? При этом необходимо чтобы все результаты первого файла были доступны второму, возможно сделать такое в рамках одного .exe?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2014, 11:49     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков
Еще ссылки по теме:

fatal error LNK1318: Unexpected PDB error; OK (0) '' C++
error C2601: 'main' : local function definitions are illegal fatal error C1004: unexpected end of file found C++
Range error: -1 ошибка компилятора выскакивает C++

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

Или воспользуйтесь поиском по форуму:
Kukurudza
104 / 85 / 6
Регистрация: 29.08.2012
Сообщений: 539
01.07.2014, 11:49     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #20
в ашнике объявить функции а описать их в цэпэпэ. глобалные переменные и их состояние это плохо
Yandex
Объявления
01.07.2014, 11:49     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков
Ответ Создать тему
Опции темы

Текущее время: 20:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru