掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CArrayについて (ID:70338)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
yoh2さん、ありがとうございます。 自分では記述はしていないのですが、VSが自動でやってくれる事をまだ理解できていないのでやっていないという確信がありません。 訳が分からなくなって落ち込んでいたのですがεπιστημηさんにコメントを頂いて元気が出てまた挑戦しています。 動作確認では基本的に新規でSDI(時々、ダイアログ)を選択して他はデフォルトで行っています。 現時点ではCArrayのAddすると引数無しのコンストラクタのインスタンスが追加されるように見えます。 そこでInsertAtを使ってみました。 今回はCArray用のクラスをDoc.hに class CTempl{ public: CTempl(LPCTSTR strName, LPCTSTR strAddress) :m_strName(strName), m_strAddress(strAddress) { } CTempl() :m_strName(_T("aragaki")),m_strAddress(_T("okinawa")) { } CString m_strName; CString m_strAddress; }; public: CArray<CTempl, CTempl&> m_TData; View.cppに(メニューのイベントから呼び出し) void CTemplate06View::OnTemplateTemplate1() { // TODO : ここにコマンド ハンドラ コードを追加します。 CTemplate06Doc *pDoc = GetDocument(); CString strText1 = _T("nagasawa"); CString strText2 = _T("tokyo"); CTempl data1(strText1, strText2); //pDoc->m_TData.Add(data1); pDoc->m_TData.InsertAt(0, data1); CString str0 = pDoc->m_TData[0].m_strName; AfxMessageBox(str0); strText1 = _T("igarashi"); strText2 = _T("oosaka"); CTempl data2(strText1, strText2); //pDoc->m_TData.Add(data2); pDoc->m_TData.InsertAt(1, data2); str0 = pDoc->m_TData[1].m_strName; AfxMessageBox(str0); } これで[nagasawa],[igarashi]が返るようになりました。 ここでAddの方にすると2回[aragaki]が返ってきます。 Addする場合は宣言の仕方が違うのか、なぜ、このような動作になるのかまだ分かりません。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.