私はtypedef std::vector<ColorInfo*> ColorInfoVector;
クラスで定義しました
struct ColorInfo
{
ColorInfo() : m_displayVector() {}
// data members
DisplayAttrVector m_displayVector;
};
メソッドに次のように入力を取得しています
void Display (ColorInfoVector *colorInfoVector)
以下のような構造でメンバー変数にアクセスしようとしたときのメソッドの側面
DisplayAttrVector dispAttrs = (*(colorInfoVector[i]))->m_displayVector;
エラーが発生する
error C2100: illegal indirection
error C2039: 'm_displayVector': is not a member of 'std::vector<ColorInfo *>'
列をなして
DisplayAttrVector dispAttrs = (*((*colorInfoVector)[i]))->m_displayVector;
(*colorInfoVector)[i]
あなたにポインタを与えます。ポインタを使用して構造体のメンバーにアクセスするには、次のように記述する必要があります。
((*colorInfoVector)[i])->m_displayVector
または
(*((*colorInfoVector)[i]))).m_displayVector
どちらも同じことをします。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加