1

理解できないかなり具体的なデータ構造の問題があります。私の課題では、ヘッダーのプライベート セクションに動的に割り当てられた構造体の配列が必要です。したがって、この時点までのヘッダー ファイルには、

struct node{
  int name;
  node *next;};  

プライベートでは、

node *adj;

これは、少なくとも私の知る限り、配列を設定する方法です。
次に、.cpp ファイルに

adj = new node*[];

これはたくさんのエラーを投げています。しかし、私が持っているとき

node *adj[n];

私のcppで、ヘッダーには何もありませんが、動作します。私の質問は、ヘッダーのプライベート セクションに配列を配置する方法ですが、.cpp にスペースを動的に割り当てるにはどうすればよいですか?

4

1 に答える 1

2

あなたが定義した

node *adj;

ノードへのポインタ、またはノードの配列です。ノードへのポインターの配列が必要な場合は、宣言する必要があります

node **adj;

これは、ノードへのポインターへのポインター、またはノードへのポインターの配列です。最初のケースでは、次を使用して配列を割り当てます

adj = new node[n];

ノードの配列を定義します。そして2番目に使用する

adj = new node*[n];

これは、ノード ポインターの配列を定義します。

adj = new node*[];

配列の大きさをコンパイラに伝えないため、意味がありません。

于 2013-05-02T05:41:01.100 に答える