W8027 Funktionen, die 'anweisung' enthalten, werden nicht als Inline expandiert (C++)

Aus RAD Studio
Wechseln zu: Navigation, Suche

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.