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

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

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

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

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

Здравствуйте, можно ли изменить степень вложения в свойствах компилятора или как то обойти ошибку (сокращение и изменение циклов внутри программы невозможно, все возможные слияния циклов уже произведены)?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Somebody
2775 / 1589 / 142
Регистрация: 03.12.2007
Сообщений: 4,162
Завершенные тесты: 1
30.06.2014, 22:28     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #2
Какой компилятор-то?
И сколько же это надо было вкладывать, чтобы так вышло? В стандарте рекомендуется минимум 256 уровней... Наверняка можно что-нибудь по функциям раскидать.
ExFau$t
112 / 100 / 13
Регистрация: 08.05.2012
Сообщений: 685
30.06.2014, 22:36  [ТС]     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #3
среда Visual C++, степень вложения по умолчанию 250 - здесь имеется в виду не 250 раз цикл в цикле, а 250 корневых цикла, меньше уже никак нельзя.
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12501 / 7063 / 793
Регистрация: 27.09.2012
Сообщений: 17,447
Записей в блоге: 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
112 / 100 / 13
Регистрация: 08.05.2012
Сообщений: 685
30.06.2014, 22:48  [ТС]     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #5
Отсюда я и выписал название темы, что это значит понятно, как исправить, не травмируя код, в котором отсутствуют одинаковые операции и циклы?
Tulosba
:)
Эксперт С++
4383 / 3226 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
30.06.2014, 23:43     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #6
Цитата Сообщение от ExFau$t Посмотреть сообщение
меется в виду не 250 раз цикл в цикле, а 250 корневых цикла, меньше уже никак нельзя.
Это как понимать? Дайте код посмотреть.
ExFau$t
112 / 100 / 13
Регистрация: 08.05.2012
Сообщений: 685
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Эксперт С++
 Аватар для Croessmah
12501 / 7063 / 793
Регистрация: 27.09.2012
Сообщений: 17,447
Записей в блоге: 2
Завершенные тесты: 1
01.07.2014, 00:05     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #8
Цитата Сообщение от ExFau$t Посмотреть сообщение
а так:
а ну эт студийный баг: http://support.microsoft.com/kb/315481
Tulosba
:)
Эксперт С++
4383 / 3226 / 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
112 / 100 / 13
Регистрация: 08.05.2012
Сообщений: 685
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
:)
Эксперт С++
4383 / 3226 / 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
Эксперт С++
4869 / 3008 / 370
Регистрация: 10.11.2010
Сообщений: 11,059
Записей в блоге: 10
Завершенные тесты: 1
01.07.2014, 11:08     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #14
Для какой цели может потребоваться такое количество вложенных циклов? Для реализации чего?
Tulosba
:)
Эксперт С++
4383 / 3226 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
01.07.2014, 11:11     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #15
Цитата Сообщение от castaway Посмотреть сообщение
такое количество вложенных циклов?
Они не вложенные друг в друга, а вложенные в функцию (см.#7). Хотя причина их появления всё равно интересна.
ExFau$t
112 / 100 / 13
Регистрация: 08.05.2012
Сообщений: 685
01.07.2014, 11:15  [ТС]     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #16
А можно, например, иметь несколько срр- файлов, при одном исполняемом, при последовательном их выполнении?
castaway
Эксперт С++
4869 / 3008 / 370
Регистрация: 10.11.2010
Сообщений: 11,059
Записей в блоге: 10
Завершенные тесты: 1
01.07.2014, 11:43     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #17
Мы код увидим или нет?
ExFau$t
112 / 100 / 13
Регистрация: 08.05.2012
Сообщений: 685
01.07.2014, 11:44  [ТС]     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #18
Нет, плагиат, знаете ли, не дремлет.
ExFau$t
112 / 100 / 13
Регистрация: 08.05.2012
Сообщений: 685
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: ограничение компилятора: недопустимая степень вложения блоков
Еще ссылки по теме:

Range error: -1 ошибка компилятора выскакивает C++
fatal error LNK1120 C++
C++ Fatal error C1083
C++ Error LNK2019 и fatal error LNK1120
Ошибки fatal error U1052 и error MSB3073 C++

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

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

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