我正在努力处理我从另一个人那里得到的代码。他使用模块提供主程序所需的数组。我需要的是一个数字从500到3500的数组。
他通过写作
来做到这一点DataEntry
现在对我来说这看起来非常复杂!另外,我需要myArray包含整数,但我当然不想删除所有这些点。
所以起初我试过这个:
<html>
<body>
<a href="Mytransfers.aspx#__tab_Main_ctl00_TabCodntainer1_TabPanel4" data-toggle="TabPanel4"><u><b>how to transfer funds ?</b></u></a>
</body>
</html>`
但是我得到了
&#34;错误#6274:此声明不得出现在规范部分中 一个模块&#34;
我做错了什么?
答案 0 :(得分:2)
你需要一个隐含的do循环。这编译并运行良好
MODULE module1
INTEGER :: i
REAL :: myArray(3001) = (/ (i, i=500, 3500) /)
END MODULE
格式为
(/ (exp1, var=start, end) /)
或
(/ (exp1, var=start, end, step) /)
或
(/ (exp1, expr2, .., var=start, end, step) /)
请参阅https://web.stanford.edu/class/me200c/tutorial_90/07_arrays.html
答案 1 :(得分:1)
错误很明确。您无法在模块中执行计算。模块设计用于承载变量声明和子例程接口。您有两种选择:
只需在模块中声明数组的类型和维度,然后使用您建议的循环在主程序中初始化它(使用模块)。
或者正如@francescalus所指出的,您可以在模块中声明期间直接使用数组构造函数。这样的事情:[(i, i=500, 3500)]