尝试为项目学习Fortran。在一个非常简单的程序中,我得到无效字符错误。
.css
由 GFORTRAN 生成的错误
t.f90:11.12:
{
test: /\.scss$/,
loaders: [
'file-loader?name=[name].css',
'css-loader',
'autoprefixer-loader',
'sass-loader'
]
}
错误:名称中的字符无效(1)
此错误的原因是什么?
答案 0 :(得分:2)
正确的语法是
real(8), dimension(n_samp,samp_len,y_len,x_len) :: Yvec
指定任何属性时,::
是强制性的(在您的情况下为dimension
)。
正如@AlexanderVoigt指出的那样,所有变量声明必须放在代码的声明部分,即开头。
我不建议使用real(8)
,因为它没有明确定义,8
可能意味着什么,它是各种表格的索引,不同的编译器可以在地方{{{ 1}}在那个表中。见Fortran 90 kind parameter
答案 1 :(得分:2)
这很简单:你不允许在主体中声明(这是在一些指示之后)!相反,您应该使用参数:
program foo
implicit none
integer,parameter :: n_samp=2
integer,parameter :: samp_len=2
integer,parameter :: x_len=11
integer,parameter :: y_len=2
real(8),dimension(n_samp,samp_len,y_len,x_len) :: Yvec ! Add. typo here
end program foo