回 帖 发 新 帖 刷新版面

主题:[讨论]interface中定义输入的是未知长度的字符,debug出错

使用外部子程序时出错,错误如下
error #8000:  There is a conflict between local interface block and external interface block.   [MY_TRIM]    
说我my_trim()中的字符串与interface中定义不符。interface中定义输入的是未知长度的字符,为何会debug出错
但是release却可以输出结果,用cvf的话debug不出错。这是编译器的原因吗?小弟用的是ivf
程序如下:
program exam8
implicit none

   interface
      function my_trim(char)
      implicit none
      character(*):: char
      character(len_trim(adjustl(char))):: my_trim
      end
   end interface
    
      print *, my_trim('    5678   ')

end program exam8

 function my_trim(char)
   implicit none
   character(*):: char
   character(len_trim(adjustl(char))):: my_trim

   my_trim = trim(adjustl(char))

   end

回复列表 (共2个回复)

沙发

我不知道定义区character(len_trim(adjustl(char))):: my_trim 里面调用这两个内部函数可不可以,真没试过.
如果可以, 看上去觉得没问题. 明天试试看.

板凳


谢谢一楼,麻烦你试后告诉我一下结果和原因[em2]

我来回复

您尚未登录,请登录后再回复。点此登录或注册