double var1, var2;
std::vector<double *> x;
var1 = 1;
var2 = 2;
x.push_back(&var1);
x.push_back(&var2);
When I debug this code in gdb and try print x[0]
or *x[0]
I get:
Could not find operator[].
Now if I include this line after the push_back
:
x[0] = &var1;
I can access any specific elements in gdb. The same thing happens with other members such as front()
, at()
, etc. My understanding is that the compiler/linker includes only the member functions present in the source code and those are the ones I can use in gdb. Is there a way to include every member function of std::vector
so I can access them in gdb?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…