Вектор не имеет элементов.Используйте push_back()
или insert()
, чтобы добавить элементы в вектор:
entry* e = new entry();
e->key = val;
e->next = 0;
TB.push_back(e); // Append to vector.
TB.insert(TB.begin(), e); // Insert at beginning of the vector.
При уничтожении вектора TB
вы должны выполнить итерации по элементам иdelete
каждый в отдельности (или используйте умный указатель в качестве типа элемента, например boost::shared_ptr<entry>
или std::unique_ptr<entry>
).
Вы можете предоставить конструктор (ы) для entry
, чтобы добавитьentry
до TB
более кратко:
class entry
{
public:
entry(int a_key, int a_next = 0) : key(a_key), next(a_next) {}
int key;
int next;
};
TB.push_back(new entry(val));
TB.insert(TB.begin(), new entry(val));