如果Ada中的参数处于无模式状态,会发生什么?
之间有什么区别>>
procedure my_func ( param_1 : in param_type )
和
procedure my_func ( param_1 : param_type )
我对ada还是陌生的,并且一直在编写大多数程序。该程序将编译并按预期运行。
如果Ada中的参数处于无模式状态,会发生什么?过程my_func(param_1:在param_type)和过程my_func(param_1:param_type)有什么区别?我是ada的新手。
如Martin所建议,如果未提供,默认模式为'in'。
with Ada.Text_IO; use Ada.Text_IO;
procedure just_testing is
procedure get_value (no_1 : Integer);
procedure get_value (no_1 : Integer) is
no_2 : Integer := 2;
begin
no_1 := no_2;
end get_value;
begin
Put("auto mode");
end just_testing;
而且当我编译这段代码时,请看我们作为错误得到的内容。
>gnatmake just_testing.adb
gcc -c just_testing.adb
just_testing.adb:10:09: assignment to "in" mode parameter not allowed
gnatmake: "just_testing.adb" compilation error
因此,编译器明确指出默认模式为'in',因为我们无法为模式为in的参数赋任何值。