私は以前に質問された質問に関して特定のクエリを持っていました。StackTypeオブジェクトへのアクセスなしでスタックの先頭を変更します。
私はこの関数プロトタイプvoid StackPop(NodeType *Top)
を与えられ、スタックオブジェクトのアクセスなしでスタックの先頭を修正するように指示されました。 StackPop
関数はここではグローバル関数であり、Stackクラスのメンバ関数ではありません。ポップした後、TopはTop要素の新しい値を指すはずです。
解決策として、そのような場合にスタックの先頭をポップすることは、呼び出し中にスタックの先頭ノードのアドレスを関数に渡す場合にのみ可能です。例えば:StackPop(&address);
は、スタック
NodeType* temp;
temp = top;
*top = (*top)->next;
delete temp;
これは質問に対する簡単な答えですまたは何か他のものの世話をする必要がある場合でのトップを変更するには?
あなたの関数引数は 'Node'か' NodeType'ですか? –
@Als:Editted。はい、それは 'NodeType'です。 – Cipher