2009-08-26 3 views
0

У меня возникли проблемы с удалением вектора из «многомерного вектора»полностью удалить вектор C++

Я хотел бы добиться этого:

1 1 1 1   1 1 1 1 
    2 2 2 2   2 2 2 2 
    3 3 3 3   4 4 4 4 
    4 4 4 4 



for example 

vector<vector<int>>vec; 
    for i...//give vec values... 
    vec[3].erase(vec.begin(),vec.end()); 

Похоже, что с помощью vector.erase() или vector.clear() оставляет пустой вектор на «третьем ряду» есть ли способ completetly удалить этот вектор так, что

vec[3]=4 4 4 4 

Thanx для большого форума ... /Bux

ответ

4

Следующая строка удаляет третий элемент vec. Если у него было четыре элемента, он будет иметь три после выполнения строки.

vec.erase(vec.begin() + 2); 

Следующая линия, с другой стороны, оставит третий вектор пустым.

vec[2].clear(); 
+0

Но разве это не оставляет пустой вектор в положении 3? Я тоже пробовал это в коде. Возможно, моя ошибка в другом месте, если четвертая строка становится третьей строкой? – 2009-08-26 07:33:28

+0

Jepp Я получил его для работы ... еще раз у меня было одно измерение слишком много в коде, чтобы легко найти ошибку ... спасибо много ... – 2009-08-26 07:36:10

Смежные вопросы