Я пытаюсь вызвать код Fortran 90 из основной программы C++. Подпрограмма Fortran принимает в качестве параметра массив значений типа double (назовем его X), а затем продолжает использовать size(X) во многих местах кода. Я вызываю подпрограмму с массивом C, созданным с помощью
double *x = new double[21]
но когда я печатаю результат size(X) в коде Fortran, я получаю 837511505 или какие-то другие большие числа.
Прямо сейчас я могу изменить код на Фортране, так что в худшем случае нужно переписать функцию, передав размер в качестве параметра. Но я бы предпочел этого не делать.
Кто-нибудь знает, есть ли способ создать массив C таким образом, чтобы подпрограмма Fortran могла определить его размер?