E2010 Types incompatibles - '%s' et '%s' (Delphi)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Messages d'erreur et d'avertissement (Delphi)

Ce message d'erreur est émis lorsque le compilateur s'attend à ce que deux types soient compatibles (c'est-à-dire semblables) mais qu'ils s'avèrent différents.

En principe, vous devez examiner attentivement votre programme pour décider comment résoudre les incompatibilités de type.

Si vous recevez le message d'erreur suivant :

[DCC Error] Project1.dpr(8): E2010 Incompatible types: 'Integer' and 'Extended'

Le premier type de ce message (Integer) est le type attendu, et le deuxième type (Extended) est le type qui a été donné. Un type Extended ne peut pas être adapté à un Integer.

Voici un autre exemple :

 program Produce;
  
  procedure Proc(I: Integer);
  begin
  end;
  
  begin
    Proc( 22 / 7 ); (*Result of / operator is Real*)
  end.

Le programmeur a pensé que l'opérateur de division / qui est utilisé en C++ lui donnerait un résultat entier, mais ce n'est pas le cas en Delphi.

La solution dans ce cas est d'utiliser l'opérateur de division entière div :

 program Solve;
  
  procedure Proc(I: Integer);
  begin
  end;
  
  begin
    Proc( 22 div 7 ); (*The div operator gives result type Integer*)
  end.


Voici d'autres exemples :

Voir aussi