Форум программистов, компьютерный форум 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++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ExFau$t
55 / 55 / 4
Регистрация: 08.05.2012
Сообщений: 448
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
55 / 55 / 4
Регистрация: 08.05.2012
Сообщений: 448
01.07.2014, 16:16  [ТС]     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #43
Проблема вовсе не 256 блоках, а в том что циклов невложенных 250, они друг с другом не имеют ничего общего и должны выполняться последовательно, это связано с прохождением тока в ветвях цепи и дифференциальной составляющей.
Хедин
01.07.2014, 16:16
  #44

Не по теме:

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

DrOffset
6461 / 3835 / 886
Регистрация: 30.01.2014
Сообщений: 6,630
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
55 / 55 / 4
Регистрация: 08.05.2012
Сообщений: 448
01.07.2014, 16:30  [ТС]     Fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков #47
Цитата Сообщение от DrOffset Посмотреть сообщение
Может быть все-таки сделать функцию для интеграла отдельно?
Вы просто гений! Нет я его прям так вставил посередине авось прокатит.

Добавлено через 1 минуту
Цитата Сообщение от Хедин Посмотреть сообщение
ExFau$t, понимаю, конечно, вашу печаль. Но что вы называете словом интеграл (баг/математический интеграл/кракозябровый символ) и как исправить, лично я не знаю, потому что не видел ни кода, ни скринов отладки. В таких условиях задачи это теперь ваша забота
Причем здесь интеграл - это всего лишь кусок кода который удалось вырезать из функции путем введения новых переменных и перестановок нежелательных.
FraidZZ
Модератор
 Аватар для FraidZZ
3879 / 1505 / 227
Регистрация: 06.01.2013
Сообщений: 4,029
Завершенные тесты: 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
883 / 618 / 81
Регистрация: 12.04.2010
Сообщений: 1,552
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: ограничение компилятора: недопустимая степень вложения блоков
Еще ссылки по теме:

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++

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

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

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