Condividi tramite


Avviso C28250

Annotazione incoerente per la funzione: errore dell'istanza precedente.

Nota: per questa funzione sono disponibili diversi prototipi. Questo avviso confronta il primo prototipo con il numero di numero <>di istanza.

Se viene eseguita una dichiarazione utilizzando , typedefla riga in cui typedef appare è più utile rispetto alla riga della dichiarazione.

Questo avviso fa riferimento a un errore nell'annotazione e riflette il requisito che le annotazioni in una dichiarazione di funzione devono corrispondere a quelle nella definizione, tranne se è coinvolta una funzione typedef . In tal caso, la funzione typedef viene presa come definitiva sia per la dichiarazione che per la definizione.

Le annotazioni vengono in genere implementate come macro e una macro genererà in genere diverse annotazioni di basso livello. Questo avviso viene segnalato per ogni annotazione di basso livello senza corrispondenza, pertanto una singola macro di annotazione senza corrispondenza può produrre molte annotazioni di basso livello senza corrispondenza. È consigliabile confrontare la dichiarazione e il codice sorgente della definizione per assicurarsi che siano uguali. Le differenze semplici nell'ordine delle annotazioni non vengono segnalate.

Il confronto è sempre tra la prima dichiarazione trovata e quella corrente. Se sono presenti più dichiarazioni, ogni dichiarazione viene controllata in modo pairwise. Non è attualmente possibile eseguire un confronto diverso da in coppie, anche se è possibile identificare che sono presenti più di due dichiarazioni/definizioni. Il campo di testo precedente contiene un elenco delle annotazioni che differiscono (a un livello piuttosto basso) tra le due istanze.

Questo messaggio di avviso visualizza il testo del codice sottostante inviato al compilatore e non le macro utilizzate per inserire effettivamente l'annotazione nel codice sorgente , come avviene ogni volta che vengono utilizzate le macro. In generale, non è necessario comprendere le annotazioni di basso livello, ma è necessario riconoscere che le annotazioni vengono segnalate come incoerenti tra i numeri di riga segnalati nel messaggio di errore. Per lo più, un'ispezione del codice sorgente renderà chiaro perché esiste l'incoerenza.