私のコードがうまくいくようです(上記のエラーのため大きなデータセットを試していません)。stxxlキューを使用しているときに `ポインタが解放されませんでした '
コード:
#include <iostream>
#include <queue>
#include <stxxl/queue>
int main()
{
//queue<int> q; //this works
stxxl::queue<int> q; //does not work
for (int i = 0; i<100; i++) {
q.push(i);
}
std::cout << "done copying" << std::endl;
while (q.empty() == false) {
std::cout << q.front() << std::endl;
q.pop();
}
std::cout << "done poping" << std::endl;
return 0;
}
私の簡単な.stxxl
は単純です:disk=./testfile,0,syscall
しかし、私のエラーは次のとおりです。
stackexchangeexample(3884) malloc: *** error for object 0x101c04000: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
The program has unexpectedly finished.
私はそれをトラブルシューティングするかどうかはわかりません、私はする必要がありますかこの場合の空きメモリ私はまだC++を学んでいますので、これは本当に基本的なことです(これはstxxlキューを使用する場合にのみ発生します)。
この質問の以前のバージョンを削除して再送信しましたか?今日私はこれを数回見てきたと確信しています。 – Blastfurnace
@Blastfurnaceはいごめんなさい。誰かがコメントを投稿したので、私は今日やったことがあります(前回は、別の警告を解決するように勧められたので、設定方法を学びながら質問を削除しました。もし私がそれを自分で解決できれば(あるいは正しい方向を指し示していれば)、私は人々にそれを読む時間を無駄にしたくない。 – Lostsoul
質問を編集して削除したり、修正したバージョンを再投稿したりすることはできません。 – luke