2016-05-07 6 views
1

私の手続きでは、アダマにランダムなPositiveを生成しようとしています。このために、私は次のコードを持っている:私は見当がつかないエラーAda - "random"の不正使用

incorrect use of "random" 

を取得

procedure Inicialize(K: Positive) is 
    package rand is new ada.numerics.discrete_random(Positive); 
    use rand; 
    G: Generator; 
    t: Positive; 
    begin   
    isInitialized:= True; 
    reset(G); 
    t := random(G); --error for this line 
    end Inicialize; 

を、どのようにこれは誤った使用である、またはそれも何を意味します。誰かが詳細を教えてもらえますか? ありがとうございました!

答えて

3

isInitializedがグローバル変数であると仮定すると、そのコードは正当なものとして見えます。それは現在のGnat Adaで正しくコンパイルされ実行されます。完全な手順はこれより複雑ですか? Gまたはrandomを再宣言できますか?

私はあなたの以前のquestionにパッケージrandomが記載されています。したがって、パッケージ名とプロシージャー名の間の名前の衝突が考えられます。 'use rand'を削除するか、パッケージの名前を変更すると、これが解決されます。

+1

「ランダム」というパッケージについて言及する以前の質問があります。したがって、パッケージ名とプロシージャー名の間の名前の衝突が考えられます。 'use rand'を削除するか、パッケージの名前を変更すると、これが解決されます。 –