2009-08-26 5 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 

고맙습니다/Bux

답변

4

다음 줄은 vec의 세 번째 요소를 제거합니다. 네 개의 요소가 있다면 행이 실행 된 후 세 개가됩니다.

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

다음 줄은 세 번째 벡터를 비워 둡니다.

vec[2].clear(); 
+0

그러나 빈 벡터를 위치 3에 두지 않습니까? 코드에서 그걸 시도해 봤는데 .. 아마도 네 번째 행이 이렇게하는 세 번째 행이된다면 내 오류가 다른 곳에서 있을까요? –

+0

Jepp 나는 작동하도록했다 ... 다시 한 번 코드에서 오류를 쉽게 발견 할 수있는 차원이 너무 많다 ... 고맙다. –