本旨:
私はダイクストラのアルゴリズムのコードを書きました。ただし、他のコードなどで (ヘッダー ファイルから) 関数を呼び出す必要があります。ただし、関数が呼び出されたときにのみ変数を保存する必要があります (したがって、関数が呼び出されると、変数は返されますが、以前の呼び出しからの変数は返されません)。そして、これらの変数を他のコード/ファイルで参照する必要があります。
変数の保存方法:
2 つのベクトルを含む構造体。
私の質問:
.h ファイルを作成して構造体を保存し、そこで変数を変更するのが最善でしょうか、それとも別のファイルの別の関数から変数を呼び出して、メモリの問題などを心配することなく使用する方法はありますか?
また...私のintメインが引数を取らない場合、このダイクストラアルゴリズムの.hファイルをどのように設定しますか?......
-編集-
typedef struct
{
int a;
int b;
} STR;
STR Func()
{
STR str;
str.a = 5;
str.b = 6;
return str;
}
私のコードの基本モデル。しかし、構造を参照する必要があり、それは別の関数を持つ別のファイルの変数です。ただし、コンパイル時に「メイン」エラーへの未定義の参照が発生するため、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;
}