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

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

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

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

30.06.2014, 15:50. Просмотров 2070. Ответов 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
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ExFau$t
262 / 237 / 43
Регистрация: 08.05.2012
Сообщений: 1,280
01.07.2014, 16:13  [ТС]     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #41
Цитата Сообщение от HighPredator Посмотреть сообщение
ExFau$t, у вас есть три варианта развития сюжета.
1) вы тратите время, маскируете имена переменных, комментарии и т.п. в общем все чтобы скрыть конф. информацию, но сохранить логику и выкладываете это сюда, а мы уже дружно думаем, что с этим можно сделать;
2) ищете компилятор который проглотит ваши 100500 циклов;
3) забиваете болт.
Решать вам.
Спасибо за поддержку, но я сделал иначе, кое-какие операции распихал по другим функциям, все конечно запуталось, но компилятор проглотил, и удалось дописать программу до логического конца, а дальше либо новый срр, либо модульным типом, некрасиво, но что делать.
Kukurudza
105 / 86 / 6
Регистрация: 29.08.2012
Сообщений: 539
01.07.2014, 16:15     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #42
Цитата Сообщение от ExFau$t Посмотреть сообщение
Спасибо за поддержку, но я сделал иначе, кое-какие операции распихал по другим функциям, все конечно запуталось, но компилятор проглотил, и удалось дописать программу до логического конца, а дальше либо новый срр, либо модульным типом, некрасиво, но что делать.
а если придется добавить еще один цикл? а если еще 10?
ExFau$t
262 / 237 / 43
Регистрация: 08.05.2012
Сообщений: 1,280
01.07.2014, 16:16  [ТС]     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #43
Проблема вовсе не 256 блоках, а в том что циклов невложенных 250, они друг с другом не имеют ничего общего и должны выполняться последовательно, это связано с прохождением тока в ветвях цепи и дифференциальной составляющей.
Хедин
01.07.2014, 16:16
  #44

Не по теме:

ExFau$t, ну вот видите, функции помогли. А вы божились, что это не сработает ну что же, успехов

DrOffset
7058 / 4199 / 949
Регистрация: 30.01.2014
Сообщений: 6,965
01.07.2014, 16:22     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #45
Цитата Сообщение от ExFau$t Посмотреть сообщение
Проблема вовсе не 256 блоках, а в том что циклов невложенных 250
Цикл - это и есть блок. В твоем случае это просто баг студии, который приводит к этому ограничителю в 64 или 256 (в зависимости от версии), ссылку на него уже давали, на официальный ресурс майкрософт. Т.е. вариант избавится от бага, либо переделать, как сделал ты (и это уже советовали ранее) либо сменить компилятор на тот, в котором бага нет.

Добавлено через 1 минуту
Цитата Сообщение от ExFau$t Посмотреть сообщение
Теперь в чтении файлов какой-то левый интеграл
Может быть все-таки сделать функцию для интеграла отдельно?
Хедин
73 / 68 / 36
Регистрация: 17.05.2014
Сообщений: 301
01.07.2014, 16:25     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #46
ExFau$t, понимаю, конечно, вашу печаль. Но что вы называете словом интеграл (баг/математический интеграл/кракозябровый символ) и как исправить, лично я не знаю, потому что не видел ни кода, ни скринов отладки. В таких условиях задачи это теперь ваша забота
ExFau$t
262 / 237 / 43
Регистрация: 08.05.2012
Сообщений: 1,280
01.07.2014, 16:30  [ТС]     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #47
Цитата Сообщение от DrOffset Посмотреть сообщение
Может быть все-таки сделать функцию для интеграла отдельно?
Вы просто гений! Нет я его прям так вставил посередине авось прокатит.

Добавлено через 1 минуту
Цитата Сообщение от Хедин Посмотреть сообщение
ExFau$t, понимаю, конечно, вашу печаль. Но что вы называете словом интеграл (баг/математический интеграл/кракозябровый символ) и как исправить, лично я не знаю, потому что не видел ни кода, ни скринов отладки. В таких условиях задачи это теперь ваша забота
Причем здесь интеграл - это всего лишь кусок кода который удалось вырезать из функции путем введения новых переменных и перестановок нежелательных.
FraidZZ
Ex-Member
3897 / 1523 / 229
Регистрация: 06.01.2013
Сообщений: 4,050
Завершенные тесты: 1
01.07.2014, 23:21     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #48
ExFau$t, в том виде, в каком Вы дали задачу, ее не решить способом, отличным от предложенных.

Был бы конкретрый код, можно было бы присмотреться где что оптимизировать. Без конкретики тема так и будет переливаться из пустого в порожнее.
BatonPro
30 / 30 / 24
Регистрация: 21.06.2014
Сообщений: 81
01.07.2014, 23:45     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #49
Странно, что никто не предложил самое очевидное решение - заменить циклы for на while.
Alex5
1048 / 711 / 104
Регистрация: 12.04.2010
Сообщений: 1,789
01.07.2014, 23:57     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #50
В статье на русском языке не указано, что же делать. Но внизу страницы есть ссылка Эта статья на английском языке:315481 И тут указан обходной путь.

BUG: Too many unnested loops...
C++
1
2
3
4
5
6
7
    // Workaround
    // Surround each for loop with braces to create an enclosing scope: 
    {
        for (i=0; i<5; i++) {
            a += a*i;
        }
    }
И ещё More information .

Добавлено через 4 минуты
The workaround solves this problem by isolating each for-loop so that it is no longer in the same scope as other for-loops,...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2014, 12:12     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков
Еще ссылки по теме:
C++ fatal error C1004
ошибка fatal error C++
fatal error LNK1120 C++
C++ Fatal error LNK1120:
C++ Шифрование ГОСТ, error C1021: "Недопустимая команда препроцессора"

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

Или воспользуйтесь поиском по форуму:
ExFau$t
262 / 237 / 43
Регистрация: 08.05.2012
Сообщений: 1,280
02.07.2014, 12:12  [ТС]     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #51
Ну вот не прошло и дня как предприимчивые люди находят разные варианты на поставленную задачу, без кода, без изменения условий, спасибо.
Yandex
Объявления
02.07.2014, 12:12     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков
Ответ Создать тему
Опции темы

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