12.8.5 Dynamic array operators

There is only one dynamic array operator: +. This operator is available in Delphi mode, but must be enabled explicily using the modeswitch arrayoperators in objfpc mode:

{$mode objfpc}  
{$modeswitch arrayoperators}

When enabled, its action is similar to the concatenation for strings: to concatenate the contents of the two arrays it acts on. The array element type must of course be identical for both arrays, i.e. the following will work:

{$mode objfpc}  
{$modeswitch arrayoperators}  
var  
  a,b, c : array of byte;  
 
begin  
  a:=[0,1,2];  
  b:=[3,4,5];  
  c:=a+b;  
  writeln('C has ',length(c),' elements');

But the following will not work:

{$mode objfpc}  
{$modeswitch arrayoperators}  
 
var  
  b, c : array of byte;  
  a : array of integer;  
 
begin  
  a:=[0,1,2];  
  b:=[3,4,5];  
  c:=a+b;  
  writeln('C has ',length(c),' elements');

The compiler will give an error when compiling this code.