2016-10-03 2 views
0

私はC++とLEDAだけでなく、新しいものです。私はグラフで利用可能なすべてのパスのコストを計算するプログラムを実行しています。cppのアサーションにLEDAライブラリのエラーがありますか?

しかし、私はこのエラーに遭遇しています:

LEDA ERROR HANDLER 
    Assertion failed in file _graph.cpp at line 784: w != 0 

#00 at 0x00439b27 in 
#01 at 0x00439cc2 in 
#02 at 0x00438097 in 
#03 at 0x00437cc5 in 
#04 at 0x0044290c in 
#05 at 0x00443f17 in 
#06 at 0x00444293 in 
#07 at 0x00411055 in 
#08 at 0x004219c3 in 
#09 at 0x00422421 in 
#10 at 0x00425961 in 
#11 at 0xa89e0ec5 in __libc_start_main 
#12 at 0x00405169 in 

このエラーは、私のコードから来ていないと私はこのようなエラーの意味についてはかなり混乱しています。このエラーは、2つのノード間のグラフに新しいエッジを作成しようとしたときに発生します。

G.new_edge(u, v, e); 

「G」は私のグラフであり、uおよびvはソースおよびターゲットノードであり、eはエッジである。

自分でコードをデバッグできますが、私に混乱を招くのは、このエラーが意味することは何ですか?問題は何だった

EDIT

私はleda_nodeのアドレスにノードIDをマッピングされたハッシュマップから利用可能なすべてのターゲット・ノード「V」を読んでいました。

私のプログラムの一部では、hash_mapがヌル値をノードIDの1つに渡していたので、エッジを作成しようとしたときにアサートエラーが発生しました。

答えて

0

Ledaでは内部エラーの可能性がありますが、不正な形式の入力を渡すとライブラリアサートに失敗する可能性が高くなります。したがって、G、u、v、eのいずれかが正しく設定されません。

+0

実際、この単純な答えは私が問題をデバッグするのを助けました。たくさんありがとう:) – CoderBC

+0

@CoderBC:誰か他の人がこの問題に遭遇した場合に、あなたが少なくとも問題を言及してくれればいいですか? –

+0

@TomaszPlaskota私はあなたに同意します。問題は非常に特殊なものでしたが、私は編集で一般的なバージョンを書こうとしました。 :) – CoderBC

関連する問題