C++ では、S の配列を割り当てます。Fortran では、この配列の要素にアクセスしたいと考えています。これどうやってするの?
C++:
struct S {double a; double b;};
S *arrayOfS;
arrayOfS = (S *)new S[123]; // allocate
フォートラン 2003:
USE ISO_C_Binding
TYPE, BIND(C) :: SFortran
REAL(c_double) :: a,b
END TYPE SFortran
S と SFortran は相互運用可能になったはずですが、C++ で宣言された配列の要素にアクセスする方法も必要です。Fortran の SC(5)%a を C++ の arrayOfS[4].a に対応させたいのですが。このアクセス権を持つ Fortran 配列 SC の適切な値を宣言して設定するにはどうすればよいですか?