2017-01-29 10 views
-1

私は構造体オブジェクトのための一種の "ユーザごとの"ベクトルを持っていたいと思います。私が取り組んでいるプロジェクトのために同じベクトルの複数のインスタンスを作成する

だから、私はベクトルを宣言するためにこれを行っています

// Defined in global namespace, and the pointer to structure objects is deliberate 
typedef std::vector<s_AttachmentData*> AttachmentsContainer; 

struct s_User 
{ 
public: 
    AttachmentsContainer attachmentsData; 
}; 

私は問題なくベクトルにこのような構造のオブジェクトを追加することができますよ。私は実際にイテレータを介してデータにアクセスして変更するのに苦労しています。ここで私が試したものです:

// 'p' is pointer to s_User structure above 
for (AttachmentsContainer::iterator it = p->attachmentsData.begin(); it != p->attachmentsData.end(); ++it) 
{ 
    // Do stuff here, however I can't get to this point because the application crashes. 
} 

私は単にコンテナ内のデータにアクセスしようとしている、私はベクトルを移入することが、私は私が取得しています何かをアクセスするためのループとしようとすると、 "vector iterators incompatible"エラーです。誰かがこれに関連することができる、または正しい方向に私をプッシュすることができれば、私は大きく負っているだろう!奇妙なことに、私はどこでも同じような問題を見つけることができませんでした。

+0

のようなもので、それらにアクセスすることができますか?あなたは直面している問題は何ですか? – dreamzor

+1

良い[MCVE]を提供してください。 – Inline

+0

@cawfee:考えられるのは、動作しないコードを投稿し、そのエラーメッセージをコピーして質問に貼り付けることです。これにより、将来の読者のための情報を簡単に見つけることができます。また、質問に簡単に答えることもできます。 –

答えて

0

*its_AttachmentData*への参照を取得します。

あなたが本当にs_AttachmentDataに格納するポインタを意味している場合、あなたは「もの」あなたは正確に何をしている

(*it)->... 
関連する問題