fortran - 如何在 Fortran 公共块中使用可分配字符?
问题描述
我试图在 Fortran 77 中的公共块内有一个可分配的字符。但编译器总是抱怨
Error: COMMON attribute conflicts with ALLOCATABLE attribute at (1)
我的代码是
subroutine word()
character (len = :), allocatable :: a
common /a/ a
a = 'word'
end subroutine word
program main
character (len = :), allocatable :: a
common /a/ a
call word()
print *, a
end program main
我看到使它工作的唯一方法是不使用allocatable
subroutine word()
character * 4 :: a
common /a/ a
a = 'word'
end subroutine word
program main
character * 4 :: a
common /a/ a
call word()
print *, a
end program main
但这会很麻烦,因为我必须提前知道字符的长度。
我怎么能allocatable
在一个common
街区工作?
解决方案
推荐阅读
- node.js - 如何使用kafka流将视频从node.js流式传输到kafka?
- python-3.x - 计算图像中的白色像素
- html - 如何限制在角度 6 中输入旧日期?
- ubuntu - 如何在 ubuntu 中提取 .tar 文件?
- javascript - 在 React Redux 中使用 Promise
- kubernetes - 使用 helm 指定命名空间
- python - 动态如果布尔值与模块查找
- java - 处理 HicariCP Oracle 连接尝试
- c++ - 静态 constexpr 成员函数在非模板类 C++ 中不可调用
- javascript - 在 mongodb 中按给定值递增所有嵌套值