- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I saw other post that treat about this error message but I think that is not resolve my problem (or I don't handerstand).
My Error message : "Error : The type of the actual argument differs from the type of the dummy argument [PARAM]."
Must I set compiler option ?
I user Compiler Fortran for Windows on VS2005
Here My Source code
In TOT.DEF modul:
type, bind(C) :: inoutG
REAL*4 H
REAL*4 B
...
end type inoutG
In G.FOR modul
SUBROUTINE PTD (param) BIND(C, NAME="PTD")
use, intrinsic :: ISO_C_BINDING
INCLUDE'TOT.DEF'
type(inoutG), intent(inout) :: param
CALL INIT_INPUT(param) // Error here
...
END
SUBROUTINE INIT_INPUT (param)
use, intrinsic :: ISO_C_BINDING
INCLUDE 'TOT.DEF'
type(inoutG), intent(inout) :: param
H = param%H
B = param%B
...
END
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This code is not legal Fortran but it would tend to work if it were not for the compiler's discovering the error. My advice is to move the definition of the derived type inoutG to a module and USE the module. Then it will be happy.
The alternative is to turn off interface checking on the project's Fortran Diagnostics property page.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page