#include <iostream>
#include <vector>
using namespace std;
struct s_Astruct {
vector <int> z;
};
int main()
{
vector <s_Astruct> v_a;
for(int q=0;q<10;q++)
{
v_a.push_back(s_Astruct());
for(int w =0;w<5;w++)
v_a[q].z.push_back(8);
}
vector <s_Astruct> * p_v_a = & v_a;
cout << p_v_a[0]->z[4]; //error: base operand of '->' has non-pointer type
//'__gnu_debug_def::vector<s_Astruct, std::allocator<s_Astruct> >'
}
這種操作似乎存在一些問題,我不明白。在我正在處理的代碼中,我實際上有類似p_class-> vector [] - > vector [] - > int;我也遇到類似的錯誤。使用指向結構向量的指針訪問結構成員。錯誤:' - >'的基本操作數具有非指針類型
@Downvoter:請發表評論,解釋downvotes,出於普通禮貌。 – 2011-01-22 13:09:31