Предупреждение C28251
Несогласованная заметка для функции: этот экземпляр имеет ошибку
Это предупреждение ссылается на ошибку в заметке и отражает требование, что заметки в объявлении функции должны соответствовать определениям, за исключением случаев, когда typedef
функция связана. В этом случае функция typedef
принимается как окончательно для объявления, так и для определения.
Заметки обычно реализуются как макросы, и один макрос обычно выдает несколько низкоуровневых заметок. Это предупреждение сообщается для каждой несовпадной заметки низкого уровня, поэтому один несоответливаемый макрос заметки может дать множество несовпаденных заметок низкого уровня. Лучше всего сравнить исходный код объявления и определения, чтобы убедиться, что они одинаковы. (Тривиальные различия в порядке заметок не сообщаются.)
Сравнение всегда выполняется между первым объявлением, найденным и текущим. Если есть больше объявлений, каждое объявление проверка в группах из двух. В настоящее время невозможно выполнить сравнение, отличное от пар, хотя можно определить, что существует более двух объявлений и определений. Приведенное выше текстовое поле содержит список заметок, которые отличаются (на довольно низком уровне) между двумя экземплярами.
Это предупреждение отображает текст базового кода, отправляемого компилятору, а не макросы, которые используются для фактический вставки заметки в исходный код (как и в случае при использовании макросов). Как правило, вам не нужно понимать заметки низкого уровня, но следует признать, что заметки передаются как несогласованные между номерами строк, сообщаемых в сообщении об ошибке. В основном проверка исходного кода даст понять, почему несогласованность существует.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделе:Отправить и просмотреть отзыв по