小编m3p*_*phi的帖子

gdb无法找到operator []

double var1, var2;
std::vector<double *> x;

var1 = 1;
var2 = 2;

x.push_back(&var1);
x.push_back(&var2);
Run Code Online (Sandbox Code Playgroud)

当我在gdb中调试此代码并尝试print x [0]或*x [0]时,我得到:找不到operator [].现在如果我在push_back之后包含这一行:

x[0] = &var1;
Run Code Online (Sandbox Code Playgroud)

我可以访问gdb中的任何特定元素.其他成员也会发生同样的事情,例如front(),at()等.我的理解是编译器/链接器只包含源代码中存在的成员函数,而那些是我可以在gdb中使用的成员函数.有没有办法包含std :: vector的每个成员函数,所以我可以在gdb中访问它们?

c++ gdb vector

20
推荐指数
2
解决办法
9153
查看次数

标签 统计

c++ ×1

gdb ×1

vector ×1