Так странно. Требуется ли FORTRAN переименовывать переменные после их отправки в качестве параметров? Я продолжал получать ошибку сегментации всякий раз, когда я отправлял те же аргументы в другую подпрограмму. Я обнаружил, что значения аргументов были протерты между первым вызовом и вторым, без инструкций переопределения аргументов между вызовами функций или даже в любой из функций. Объем этих аргументов ограничен основной программой (я не использую никаких COMMON блоков).FORTRAN стирает значения arg между вызовами функций?
Я не могу отправить код прямо сейчас, поскольку я пишу с телефона, но любые идеи? Временным решением является переназначение значений непосредственно перед вызовом второй функции.
Спасибо за помощь.
нет кода, нет удовольствия. –
Я согласен с Стефано, нельзя быть уверенным, что происходит, не видя кода. Вы указываете намерение своих аргументов? (Вы должны быть.) Когда вы пишете, что область аргументов ограничена основной программой, но что вы передаете эти переменные в качестве аргументов подпрограмм, вы меня сбиваете с толку - если вы передаете аргумент подполе -программа расширяется, хотя может показаться, что оно имеет другое название. –
Согласовано. Объем расширен. Объедините это с вызовом по ссылке и пропущенным изменением значения в подпрограмме, и у вас есть рецепт segfault. –