title: Why does the compiler reject a constant default parameter value with "E2026 Constant expression expected"?
body: <p>The following code fails to compile with [dcc32 Error] TestDefaultParameterValuePrj.dpr(13): E2026 Constant expression expected:</p>
  
  <pre><code>program TestDefaultParameterValuePrj;
  
  {$APPTYPE CONSOLE}
  
  {$R *.res}
  
  uses
    System.SysUtils;
  
  const
    SomeValue: char = 'T';
  
    function Test(p1: String; p2: char = SomeValue): String;
    begin
      Result := p2;
    end;
  
  begin
    try
      Writeln(Test('Blah Blah'));
    except
      on E: Exception do
        Writeln(E.ClassName, ': ', E.Message);
    end;
  end.
  </code></pre>
  
  <p>Based on this <a href="https://stackoverflow.com/questions/3750728/default-parameter-value-for-a-tsomething-in-delphi">thread</a> I could use an overloaded function if I really wanted to use the constant. However, I am surprised the compiler doesn't accept it.</p>