W8027 Les fonctions contenant 'instruction' ne sont pas développées en ligne (C++)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Erreurs et avertissements du compilateur (C++) - Index

(Option de la ligne de commande pour supprimer l'avertissement : -w-inl)

où :

'instruction' peut être un de ces éléments :

  • Variables statiques
  • Initialiseurs d'agrégation
  • Certaines instructions de retour
  • Destructeurs locaux
  • Certaines instructions if
  • Classes locales
  • Instructions de retour manquantes
  • Mots réservés non autorisés listés "Mots réservés" ci-après.

Mots réservés

Les fonctions contenant l'un de ces mots réservés ne peuvent pas être développées en ligne, même si elles sont spécifiées comme telles :

asmexcept

breakfinally

casefor

continuegoto

defaultswitch

dowhile

La fonction reste valide, mais sera traitée comme une fonction statique ordinaire (non globale).

Une copie de la fonction apparaîtra dans chaque unité de compilation où elle est appelée.

Description

Si une fonction en ligne devient trop complexe, le compilateur ne peut plus la développer en ligne. Mais, puisque cette fonction est complexe, la développer en ligne n'apporterait vraisemblablement pas d'amélioration significative des performances.

Destructeurs locaux

Vous avez créé une fonction en ligne pour laquelle le compilateur désactive la mise en ligne. Vous pouvez ignorer cet avertissement ; la fonction sera générée hors ligne.