如何让fortran中的子函数接收任意数据类型?
比如一个子函数functionsum(a,b),可以对输入的两个数做a+b的运算,而不用管a和b是什么类型的数据。这类函数中的变量应该怎么定义呢?...
比如一个子函数function sum(a,b), 可以对输入的两个数做a+b的运算,而不用管a和b是什么类型的数据。这类函数中的变量应该怎么定义呢?
展开
展开全部
不管是逻辑上,还是技术上,都无法实现。
不止是 Fortran,其他任何语言都需要规定数据类型。
而且,不是所有数据类型都可以相加的。比如字符串相加,就有很多层意义。比如结构体。
可以相加的不同的数据类型,其加法的实现方法(编译器内部的实现)也是不同的。所以你必须分别书写。
尽管如此,你可以书写多个 sum 函数,分别处理不同类型,比如 sum_int , sum_real ,sum_doublereal 然后用 sum 来统一“称呼”他们。
不止是 Fortran,其他任何语言都需要规定数据类型。
而且,不是所有数据类型都可以相加的。比如字符串相加,就有很多层意义。比如结构体。
可以相加的不同的数据类型,其加法的实现方法(编译器内部的实现)也是不同的。所以你必须分别书写。
尽管如此,你可以书写多个 sum 函数,分别处理不同类型,比如 sum_int , sum_real ,sum_doublereal 然后用 sum 来统一“称呼”他们。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询