Оператор данных принимает пары списков объектов и списков значений, где такая пара имеет вид object-list /value-list/
.Объекты (исключая случаи данные подразумевают dos ) для инициализации должны быть переменными.В случае формулировки данных вопроса это нарушается вокруг точки маркера сообщения об ошибке.
Давайте посмотрим на формулировку вопроса:
data r / "en d", "irec","tion","prog","ress","ion " / , &
! ^ ^ '----------------------------------------' ^ ^
! | | '- value list | '- pair separator
! | '- separator '- separator
! '- variable name
& nl , ng , np / "l" , "g" , "p" / , "itra1","itra2" /"*" , " "/
! '-----------' ^ '--------------' ^ ^ '--------------'
! '- object | '- value | | '- NOT VARIABLES!
! list | list | '- pair separator
! '- separator '- separator
Как мы сейчасвидите, у нас есть символьные литералы, в которых компилятор ожидает увидеть имена объектов.
Как комментирует tim18, даже это исправление не сделает фрагмент кода стандартным Fortran.Некоторые компиляторы принимают символьные значения для инициализации / присваивания действительным значениям (и real*8
), но это не универсально.