struct ptr{
int node;
ptr *next;
ptr(){}
ptr(int _node, ptr *_next){ node=_node; next=_next; }
};
struct list_t{
ptr *sht;
int size;
void push(int node){
size++;
sht=new ptr(node,sht);
}
}shthead[100001], comp[200001], tree[200001];
Структура ptr используется в качестве связанного списка. Но когда я отлаживал код в gdb, я обнаружил, что все ptr * были преобразованы в void *.
Выход GDB:
(gdb) pt ptr
type = struct ptr {
int node;
void *next;
public:
ptr(void);
ptr(int, void *);
}
Тем не менее, я все еще могу увидеть данные структуры, если переверну их обратно в ptr * в GDB.
В чем причина, пожалуйста?
Я использую Arch Linux, GNOME, g ++ 4.5.0, gdb 7.1. Без каких-либо флагов компиляции, кроме -g.
This GDB was configured as "i686-pc-linux-gnu"