terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_M_construct null not valid
Aborted (core dumped)
c++です。
このようなエラーが出ます。コンパイル(?)はできるのですが、実行しようとするとこのようなエラーが出ます。
自分で調べたところ、stringが問題のようなのでstruct型で宣言していたstringを消して実行してみたところエラーは出ず正常に動きました。しかし、string型を使いたいのでどうにかしたいのですが、行き詰まっています。
struct foo{ int min; string bin; };
このように宣言してあるのですが、なにが間違っているのでしょうか、、、
エラーを再現できるソースを貼りましょう。
C++の、ちょっと込み入ったクラスが絡むエラーが読みにくいのはもう仕方がないですが、
とりあえずstringを処理していく過程でエラーがでているのですから、stringのデータ内容に対して無茶な操作をしていないか見直していくしかないでしょう。他人に手伝わせたいならstringの操作を行っているところを、テストできる状態で一通り示してください。
printfデバッグやデバッグを使ったりして実際にその例外が出る操作を特定できれば、エラー原因に対しての大きなヒントとなるでしょう。
foo a = {1, NULL};
みたいなことをしているのではないでしょうか。
朝早くから質問を見ていただいたのに不備がある質問で申し訳ございませんでした。
自分が今やっているのが課題としてやっているものなんですけど、コピー検査をめちゃくちゃすると言われていてあとあとここに貼ったコードのせいでコピー疑惑が掛けられると嫌だったのでソースを張っていませんでした。
問題は自分が色々試した結果thkanaさんのいう通りstringに対する無茶なデータ操作が原因でして、無事うまく動かすことができました。
次からはもっと自分で模索した後にみなさんの力に頼りたいと思っています。その時はもっとわかりやすくソースを貼りたいと思います。すみませんでした。
hoshi-takanoriさん、thkanaさん、actorbugさんコメントありがとうございました。

回答1件
あなたの回答
tips
プレビュー