• 締切済み

VC2013のSTLでlength_error

 VC2010で作っていたあるプロジェクトがあるのですが、それをVC2013に移植しました。そのプロジェクトではstd::dequeを使っているのですが、deque::push_backするときにstd::length_errorという例外を投げるようになってしまいました。サイズが0のコンテナにpush_backした時点で例外が投げられます。  deque<T>のTには、そこそこメンバ変数が多めのクラスが指定され、push_backされる前にビットマップ用の領域がクラスのインスタンスで確保されてからpush_backされます。  コンテナのデフォルトアロケーターが確保するサイズに比べてクラスのサイズが合わないのかなと検討をつけているところなのですが、よくわかっておりません。  心当たりのある方にご教授いただければ幸いです。

みんなの回答

回答No.1

length_errorは要求メモリサイズが大きすぎるときに出たりするけど、 Tをひとつ作るとどのくらいメモリ食うんです?

tensor01
質問者

お礼

ご回答ありがとうございました。

tensor01
質問者

補足

正確には値を見ていませんが、VC++2010では問題ない程度です。

関連するQ&A