On Thu, Oct 29, 2009 at 8:47 AM, Jeremiah Willcock
<jewillco@osl.iu.edu> wrote:
On Wed, 28 Oct 2009, James wrote:
That is the issue. I agree that to manipulate the graph in the Fortran portion of the code would be difficult (due the lack of a comparable data type). Luckily, I don't need to modify the graph in the Fortran portion of the code, I just need to allow for a c++ function to access the graph. If I can define the graph as a global variable in c++ and negate the need to pass the graph from the create_graph function to the modify_graph function via the Fortran main routine:
Create_Graph.cpp -> Main.f -> Modify_Graph.cpp
would be great.
Would I accomplish this as:
in create_graph.cpp
Graph& g;
void create_graph(){
\\ create graph
}
and in modify_graph.cpp
extern Graph& g;
void modify_graph(){
\\...
}
The storage for the graph needs to be somewhere; making the variables of type Graph rather than Graph& would solve that problem.
That worked. With the two functions as:
create_graph.cpp
Graph g;
void create_graph(){
\\...
}
and modify_graph.cpp
extern Graph g;
void modify_graph(){
\\...
}
The code compiles and runs correctly for my test case. Thanks for the help!