2016-05-07 8 views
1

Я пытаюсь создать случайный положительный результат в ada в моей процедуре. Для этого у меня есть следующий код:Ada - неправильное использование «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; 

Я получаю ошибку

incorrect use of "random" 

Я понятия не имею, как это неправильное использование, или что это вообще значит. Может кто-нибудь прокомментировать? Спасибо!

ответ

3

Предполагая, что isInitialized является глобальной переменной, этот код выглядит законным, поскольку он стоит. Он компилируется и работает правильно с текущей Gnat Ada. Является ли полная процедура более сложной? Может ли G или random быть освещен?

Я вижу ваш предыдущий question который упоминает пакет random. Таким образом, это, вероятно, столкновение имен между именем пакета и именем процедуры. Удаление «использования rand» или переименование пакета вылечило бы это.

+1

Я вижу более ранний вопрос, который упоминает пакет «random». Таким образом, это, вероятно, столкновение имен между именем пакета и именем процедуры. Удаление «использования rand» или переименование пакета вылечило бы это. –

Смежные вопросы