Freigeben über


Warnung C28250

Inkonsistente Anmerkung für die Funktion: die vorherige Instanz weist einen Fehler auf.

Hinweis: Für diese Funktion gibt es mehrere Prototypen. Diese Warnung vergleicht den ersten Prototyp mit der Instanznummer<>.

Wenn eine Deklaration mit einer typedefDeklaration erfolgt, ist die Zeile, in der die typedef Deklaration angezeigt wird, nützlicher als die Zeile der Deklaration.

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 weitere Deklarationen vorhanden sind, wird jede Deklaration gekoppelt überprüft. 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. Das obige Textfeld 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.