#c #visual-studio #clr
#c #visual-studio #clr
Вопрос:
Я впервые работаю в среде Visual Studio CLR, и каждый раз, когда я отлаживаю программу, я получаю сообщение об ошибке C1001 в MyForm.h
строке 16. Единственное, что есть в строке 16, — это {
символ.Вот картинка:
Итак, кто-нибудь может помочь?
Комментарии:
1. Это похоже на сообщение об ошибке IntelliSense. (Известно, что IntelliSense время от времени выдает неправильные отчеты.) Итак, пожалуйста, проверьте, можете ли вы скомпилировать код и проверить, какие жалобы на выходе сборки. (Имхо, это единственное, чему можно доверять. Я даже отключил список ошибок в своем VS.) Относительно внутренней ошибки компилятора : я видел их время от времени на протяжении многих лет. Это раздражает, поскольку указывает на то, что компилятор работает не полностью так, как предполагается. Однако в каждом отдельном случае причиной была ошибка в моем коде, хотя, конечно, ее сложнее найти с такой неспецифической ошибкой.
2. Единственное, что есть в строке 16, — это
{
символ. Позиция ошибки указывает, где компилятор нашел что-то, что не соответствует правилу, которое он запустил ранее. Это также может означать, что он ввел правило, ранее которого вы не намеревались применять. Итак, если{
есть что-то, что вряд ли может быть неправильным, начните искать в обратном направлении, можете ли вы найти свою ошибку выше. (Т.е. привыкайте к тому факту, что компиляторы не читают код так, как это делают люди. — Они не видят общей картины.) 😉
Ответ №1:
Я не совсем уверен, является ли это ответом на вопрос OPs, но это был такой приятный случай, что я не смог удержаться, чтобы не опубликовать его.
Это то, что я написал в своем комментарии (ранее в этот день):
Это похоже на сообщение об ошибке IntelliSense. (Известно, что IntelliSense время от времени выдает неправильные отчеты.) Итак, пожалуйста, проверьте, можете ли вы скомпилировать код и проверить, какие жалобы на выходе сборки. (Имхо, это единственное, чему можно доверять. Я даже отключил список ошибок в моем VS.)
Это то, что произошло со мной только сегодня (в Visual Studio 2019):
Пожалуйста, обратите внимание на красную зигзагообразную линию под fOut
и подсказку с internal error
.
Я был не уверен, по крайней мере, на мгновение, мог ли я ошибиться. (Я должен признать, что я в определенной степени доверяю IntelliSense, потому что большинство его жалоб верны.)
Затем я нажалCtrlF7, чтобы скомпилировать этот файл…
Вывод:
Build started...
1>------ Build started: Project: RFFileUtils - Example 1 - u8path(), Configuration: Debug x64 ------
1>RFFStreamExample.cc
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========