Warnung C28253
Inkonsistente Anmerkung für Die Funktion: Parameter weist in dieser Instanz weitere Anmerkungen auf
Diese Warnung verweist auf einen Fehler in der Anmerkung und gibt die Anforderung an, dass die Anmerkungen für eine Funktionsdeklaration mit den Anmerkungen in der Definition übereinstimmen müssen, es sei denn, eine Funktion typedef
ist beteiligt. In diesem Fall wird die Funktion typedef
sowohl für die Deklaration als auch für die Definition als endgültig betrachtet.
Anmerkungen werden in der Regel als Makros implementiert, und ein Makro liefert in der Regel mehrere Anmerkungen auf niedriger Ebene. Diese Warnung wird für jede nicht übereinstimmende Anmerkung auf niedriger Ebene gemeldet, sodass ein einzelnes Makro mit nicht übereinstimmenden Anmerkungen viele nicht übereinstimmende Anmerkungen auf niedriger Ebene liefern kann. Es empfiehlt sich, den Deklarations- und Definitionsquellcode zu vergleichen, um sicherzustellen, dass sie identisch sind. (Triviale Unterschiede in der Reihenfolge der Anmerkungen werden nicht gemeldet.)
Der Vergleich liegt immer zwischen der ersten gefundenen Deklaration und der aktuellen Deklaration. Wenn mehr Deklarationen vorhanden sind, wird jede Deklaration in Gruppen von zwei eingecheckt. Es ist derzeit nicht möglich, einen anderen Vergleich als in Paaren durchzuführen, obwohl es möglich ist, zu identifizieren, dass mehr als zwei Deklarationen/Definitionen vorhanden sind. Die Fehlermeldung enthält eine Liste der Anmerkungen, die sich (auf relativ niedriger Ebene) zwischen den beiden Instanzen unterscheiden.
Diese Warnmeldung zeigt den Text des zugrunde liegenden Codes an, der an den Compiler gesendet wird, und nicht die Makros, die zum Tatsächlichen Einfügen der Anmerkung im Quellcode verwendet werden (wie dies der Fall ist, wenn Makros verwendet werden). Im Allgemeinen müssen Sie die Anmerkungen auf niedriger Ebene nicht verstehen, aber Sie sollten erkennen, dass die Anmerkungen zwischen den in der Fehlermeldung gemeldeten Zeilennummern als inkonsistent gemeldet werden. In erster Linie wird eine Überprüfung des Quellcodes deutlich machen, warum die Inkonsistenz besteht.