大意:
我为 dijkstra 的算法写了一段代码,我很花花公子。但是,我需要在其他代码和其他东西中调用该函数(从头文件中)。但是我只需要在调用函数时存储变量(因此一旦调用函数,它将返回变量,但不会从以前的调用返回变量)。我需要在其他代码/文件中引用这些变量。
我如何存储变量:
一个包含两个向量的结构。
我的问题:
最好创建一个 .h 文件来存储结构并仅更改那里的变量,还是有办法从另一个文件中的另一个函数调用变量并使用它而不必担心内存问题等等?
另外......如果我的 int main 没有参数,我将如何为这个 dijkstra 算法设置我的 .h 文件?......
-编辑-
typedef struct
{
int a;
int b;
} STR;
STR Func()
{
STR str;
str.a = 5;
str.b = 6;
return str;
}
我的代码的基本模型。但我需要引用结构,它是另一个文件中的变量,具有另一个函数。但是,我在编译时得到未定义的对“main”错误的引用,所以我添加了一个调用 Func() 的 int main()。建议?
-编辑dos-
建议的修复
.h 应包括:
struct_name dijkstra(input variables)
.cpp 应包括:
#include "dijkstra.h"
typedef struct{
blah...
}struct_name;
struct_name dijkstra{
struct_name retval;
function def...
return retval;
}
main.cpp 应包括:
#include "dijkstra.h"
#include "dijkstra.cpp"
int main(){
initialize variables... blah
struct_name return_struct = dijkstra(input variables);
return 0;
}