- 締切済み
ベクターの中のベクターの呼び出し
お世話になります。 下記のように a.h に書いた他のクラスで宣言したベクターのベクター の変数を参照すると一部がうまく取り出せません。 うまく取り出せないとは、値が変わっています。0になっていたり 桁数が増えて違う数字になっていたりします。 具体的には、 vector<vector<RECT_TABLE>> vv = setteiDlg->m_rectlist; for(int i=0 ; i < ninList ; ++i) { suu = vv.at(i).at(0).suu; (1) range.left = vv.at(i).at(0).left; (2) range.right = vv.at(i).at(0).right; (3) range.top = vv.at(i).at(0).top; (4) range.bottom = vv.at(i).at(0).bottom (5) : で、(1)と(2)が0であったり、7,8ケタの数字(実際は2ケタ)に代わって取り出されます。後は、OKです。 取り出されるとは、setteiDlg->m_rectlist の中を見ると正しい数字です。 vv = setteiDlg->m_rectlist; として転記した後、vv が正しくないようです。 vv は、別のビューヘッダーに下記のように書いてます。 class CYomiView : public CScrollView { protected: // シリアル化からのみ作成します。 CYomiView(); vector<vector<RECT_TABLE>> vv; : a.h というヘッダーに記述 class RECT_TABLE { public: int left, top, right, bottom, suu; RECT_TABLE(int ............. : } class Settei : public CDialog { : vector<vector<RECT_TABLE>> m_rectlist; a.h はここまで 教えてください。お願いします。 Windows 7/Vista VS2005 VC++ MFC
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- ICE_FALCON
- ベストアンサー率56% (63/111)
- ICE_FALCON
- ベストアンサー率56% (63/111)
補足
お世話になります > vector<vector<RECT_TABLE>> vv=v; > でこのときvvとvの中身が違いますってことですか? そうです。 > 他のソースでバッファオーバランでもしてるんじゃないかと思いますが・ とは、どういう意味でしょうか?