W8027 Funktionen, die 'anweisung' enthalten, werden nicht als Inline expandiert (C++)
Nach oben zu Compiler-Fehler und -Warnungen (C++) - Index
(Die Kommandozeilenoption zur Unterdrückung dieser Warnung lautet -w-inl)
Beschreibung:
'anweisung' Folgendes sein kann:
- Statische Variablen
- Aggregatinitialisierer
- return-Anweisungen
- Lokale Destruktoren
- if-Anweisungen
- Lokale Klassen
- Fehlende return-Anweisungen
- Unzulässige reservierte Wörter (siehe folgende Liste)
Reservierte Wörter
Funktionen, in denen die hier genannten reservierten Wörter vorkommen, können nicht als Inline-Funktionen expandiert werden, selbst wenn sie als solche angegeben sind:
asmexcept
breakfinally
casefor
continuegoto
defaultswitch
dowhile
Die Funktion ist immer noch zulässig, wird jedoch static (nicht global) behandelt.
Eine Kopie dieser Funktion erscheint in jeder Compilierungseinheit, in der sie aufgerufen wird.
Beschreibung
Wenn eine Inline-Funktion zu komplex wird, kann der Compiler sie nicht inline verarbeiten. Da die Funktion jedoch so komplex ist, würde auch eine inline Verarbeitung die Ausführungsgeschwindigkeit nicht verbessern.
Lokale Destruktoren:
Sie haben eine Inline-Funktion erstellt, für die durch den Compiler inline außer Kraft gesetzt ist. Sie können diese Warnung übergehen, die Funktion wird ohne inline generiert.