1 / 1 / 0
Регистрация: 20.04.2019
Сообщений: 10
|
||||||||||||||||
1 | ||||||||||||||||
Баг в компиляции комментов20.04.2019, 10:06. Показов 788. Ответов 18
Метки нет (Все метки)
Здравствуйте, сегодня столкнулся с очень странным багом - ошибка при компиляции любого кода с комментами. Использую vs2015, все работало стабильно, в настройках не ковырялся. Суть проблемы:
Данный код компилируется без проблем
0
|
20.04.2019, 10:06 | |
Ответы с готовыми решениями:
18
Непонятная ошибка (возможно баг?) при компиляции Баг или так задумано? Фишка с кодировкой файлов компиляции Баг при компиляции Maven: compilation error cannot find symbol Баг в программе. Без цикла работает нормально. С циклом выдает баг |
35 / 25 / 10
Регистрация: 08.02.2019
Сообщений: 158
|
|
20.04.2019, 12:16 | 4 |
Код у меня работает без ошибок(см.вложения), покажите больше информации, например снимок экрана, может что-то со структурой проекта не так, не могу сказать, мало данных от вас
0
|
1 / 1 / 0
Регистрация: 20.04.2019
Сообщений: 10
|
|
20.04.2019, 12:43 [ТС] | 5 |
Файл создавался внутри VS, код копировался, перепечатывался, проверялся на наличие посторонних символов, проект чистый, стандартный, специально для проверки ошибки сделал.
0
|
1 / 1 / 0
Регистрация: 20.04.2019
Сообщений: 10
|
|
20.04.2019, 12:51 [ТС] | 6 |
Дополняю:
VS сама расставила именно такие символы перехода строки, при ручном копировании CR LF в нотпаде после коммента все работает, но если его стереть и написать заново, он ставится некорректно при этом после #include самой VS символ перехода строки ставится именно такой. Как исправить? P.P.S. Код на форум копировался из файла cpp, не перепечатывался.
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
20.04.2019, 12:54 | 7 |
DDQ,
прикрепите, пожалуйста, исходник, который у вас не компилируется.
0
|
1 / 1 / 0
Регистрация: 20.04.2019
Сообщений: 10
|
|
20.04.2019, 12:59 [ТС] | 8 |
cpp исходник
0
|
1 / 1 / 0
Регистрация: 20.04.2019
Сообщений: 10
|
|
20.04.2019, 13:04 [ТС] | 10 |
Исходник один.
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
20.04.2019, 13:20 | 11 |
проблема не подтверждается.
что в, общем то, не удивительно. поскольку студия умеет и виндузятный CRLF , и линуксовый CR это странно. с этого момента поподробнее. опишите по шагам, что конкретно вы делали, после чего у вас получился исходник, в котором так странно расставлены переводы строки.
0
|
Just Do It!
|
||||||
20.04.2019, 13:22 | 12 | |||||
ваш файл:
а вот правильный файл: при открытии в vs2019 вот что выдаёт: нужно соглашаться, чтобы: вот скопируйте себе:
1
|
1 / 1 / 0
Регистрация: 20.04.2019
Сообщений: 10
|
|
20.04.2019, 13:42 [ТС] | 13 |
Линуксовый вроде как как раз LF, CR это маковский вариант конца строки, не знаю, откуда он появился. Попробовал заменить на чистый LF - все компилируется. Если по шагам, то все до банальности просто - создал проект, в нем создал файл, в нем напечатал код.
Добавлено через 11 минут Как вручную вызвать это окошко? Или где настроить формат окончания строк?
0
|
Just Do It!
|
||||||
20.04.2019, 13:44 | 14 | |||||
очевидно, что это в результате копипасты строки
очевидно, что ide, не может переключать парсер компилятора на ходу. при добавления файла исходника в проект выскакивает автоматом, если в файле лажа) а так никогда я не юзал энтот корректировщик.
2
|
1 / 1 / 0
Регистрация: 20.04.2019
Сообщений: 10
|
|
20.04.2019, 14:00 [ТС] | 15 |
Именно символом конца строки (конкретно в случае окончания комментария вида //) является LF, по крайней мере в 15 студии, отображаются строки однако любым из трех способов, без разницы на выдержку в одном стиле, даже без нее все может правильно компилироваться при соблюдении вышеописанного условия.
Единственный вопрос - где в студии находятся настройки для типизации конца строк.
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
20.04.2019, 14:01 | 16 |
ошибку удалось воспроизвести.
вы вручную пропечатали #include <iostream> и потом нажали enter?или скопипастили строку откуда то извне? как вышло, что у вас разные переводы строк? печатая текст в самой студии, вы никак не сможете наследить в одной строке CR , а в другой CRLF вероятно, вы вставили эту строку копипастой откуда то извне? совершенно верно. студия корректно обрабатывает различные переводы строк, но только если они все в одном стиле. запись в различных стилях провоцируют означенную выше ошибку: Код
LINK : fatal error LNK1561: entry point must be defined
1
|
1 / 1 / 0
Регистрация: 20.04.2019
Сообщений: 10
|
|
20.04.2019, 14:07 [ТС] | 18 |
Всем спасибо, вопросов больше нет.
0
|
Just Do It!
|
|
20.04.2019, 14:09 | 19 |
вот тут для vs2015
у меня галочка была сброшена. тогда при открытии файла: собсно соглашаемся и вуаля.
2
|
20.04.2019, 14:09 | |
20.04.2019, 14:09 | |
Помогаю со студенческими работами здесь
19
std::regex : баг на сайте или баг компилятора? Скрыть див от вк комментов скрипт для комментов Отключить модерацию комментов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |