double var1, var2;
std::vector<double *> x;
var1 = 1;
var2 = 2;
x.push_back(&var1);
x.push_back(&var2);
Когда я отлаживаю этот код в gdb и пытаюсь print x[0]
или *x[0]
я получаю:
Не удалось найти оператор [].
Теперь, если я включу эту строку после push_back
:
x[0] = &var1;
Я могу получить доступ к любым конкретным элементам в GDB. То же самое происходит с другими членами, такими как front()
, at()
и т.д. Насколько я понимаю, компилятор/компоновщик включает только функции-члены, присутствующие в исходном коде, и те, которые я могу использовать в gdb. Есть ли способ включить каждую функцию-член std::vector
чтобы я мог получить к ним доступ в GDB?