次は、Delphi(XE)でエラーが発生するのはなぜですか?ジェネリック型のメソッド呼び出し?
unit UTest;
interface
type
TTest = class
public
procedure Foo<T>(A: T);
end;
implementation
{ TTest }
procedure TTest.Foo<T>(A: T);
begin
A.Add('hej');
end;
end.
私は、Delphiでの一般的なタイプは、単に一般的な機能に挿入されたと思ったので、追加(String)メソッドを持っていないタイプで使用する場合にのみ実行エラーです。
上記のようにしたい理由は、基本クラス(またはインターフェイス)を共有しないクラスが2つありますが、一部のメソッドシグネチャはまったく同じです。私はこれが限られた制約では不可能だと思いますか? – monoceres
それは正しいです。これらがテンプレートであればうまくいくはずです。しかし、あなたは単にジェネリック薬で運が悪いだけです。スカラーと複素数の両方の値で動作する素晴らしい数学的アルゴリズムを書いているのと同じ問題が発生しました。 –
それはあまりにも悪いです:(私はRTTIとif文(blersh)に戻す必要があると思います。 – monoceres