Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;正在尝试分配已分配的变量“;在Fortran代码中,从C++; < >我通过调用FORTRAN库和C++代码来调用C++中的FORTRAN子程序。但是,在使用链接成功编译后,我运行程序并收到以下错误: Fortran runtime error: Attempting to allocate already allocated variable 'variableName'_C++_Fortran - Fatal编程技术网

&引用;正在尝试分配已分配的变量“;在Fortran代码中,从C++; < >我通过调用FORTRAN库和C++代码来调用C++中的FORTRAN子程序。但是,在使用链接成功编译后,我运行程序并收到以下错误: Fortran runtime error: Attempting to allocate already allocated variable 'variableName'

&引用;正在尝试分配已分配的变量“;在Fortran代码中,从C++; < >我通过调用FORTRAN库和C++代码来调用C++中的FORTRAN子程序。但是,在使用链接成功编译后,我运行程序并收到以下错误: Fortran runtime error: Attempting to allocate already allocated variable 'variableName',c++,fortran,C++,Fortran,在fortran文件中,这看起来像: allocate(variableName(ns),variableName2(nr)) variableName = [(j,j=1,ns)] variableName2 = [(j,j=1,nr)] 然后在我相当大的C++库中,我确实有一个变量叫做“变量名”,这个变量也在FORTRAN方面。有没有其他方法能绕过这个问题,而不是Gorp FORTRAN库源,并改变特定变量的名称?< P>确实问题是C++部分尝试调用FO

在fortran文件中,这看起来像:

allocate(variableName(ns),variableName2(nr))    
variableName   = [(j,j=1,ns)]
variableName2 = [(j,j=1,nr)]            

然后在我相当大的C++库中,我确实有一个变量叫做“变量名”,这个变量也在FORTRAN方面。有没有其他方法能绕过这个问题,而不是Gorp FORTRAN库源,并改变特定变量的名称?

< P>确实问题是C++部分尝试调用FORTRAN例程数次(根本不需要),然后FORTRAN方无法处理这个。p>
但是现在这个问题解决了

我不确定这是否会让您不用更改代码,但您可以在fortran的iso_c_绑定中使用
BIND(c,name='variableName\u F')::variableName
@EdSmith:这看起来像是一个答案。这看起来不像答案。很可能这个bug在Fortran部分的某个地方没有显示出来。也许子程序不能被调用两次或类似的东西。