2011-02-03 8 views
-2

int에 벡터에 int를 할당하면 "conversion from 'int' to non-scalar type 'std::vector<int, std::allocator<int> >' requested"이라는 오류 메시지가 나타납니다. 어떻게해야합니까? 나는 벡터를 가지고있다. varr (4, -1); 무엇을 할 올바른 방법 "varr [2] = 3"?int를 벡터 <int>으로 변환하는 방법은 무엇입니까?

+11

"빵을 어떻게 한 덩어리로 바꾸려면 어떻게해야합니까?" –

+0

벡터에 벡터를 추가하지 않아도됩니다 – Rozuur

+0

당신이 정교해야합니다. 당신이하려는 일의 논리를 설명하십시오. 고독한 단일 정수를 확장 정수 컬렉션으로 어떻게 변환 할 수 있을까요? 내가 생각할 수있는 가장 가까운 것은'벡터 v; v.push_back (myIntVariable); ' – TheBuzzSaw

답변

5

두 가지 유형입니다. 당신이 vector<int>int를 추가하려면 같은 작업을 수행합니다

std::vector<int> vec; 
vec.push_back(10);

업데이트 :

std::vector<int> vec(16, 0); // Create a 16 element vector containing all 0's 
vec[4] = 10; // Sets the 5th element (0 based arrays) to 10

수 있습니다 철저한 codeguru tutorial이있을 나타납니다가 벡터 내에서 요소를 설정하려면 관심의 대상. 당신이 vector<int>에에 int를 추가하려면

+0

하지만 push_back()은 추가 작업을 수행하므로 특정 위치에 삽입하고 싶습니다. – Rn2dy

+0

@baboonWorksFine : "특정 위치에 삽입하고 싶습니다."- 질문에 추가하십시오! – ZoogieZork

+0

@baboonWorksFine : 그러면 insert()를 사용합니다. 그러나 성능상의 이유로 벡터에 insert()를 자주 사용하고 싶지는 않습니다. (목록을 대신 사용합니다.) – zdan

1

당신은 push_back을 사용해야합니다

vector<int> v; 
int i = 5; 
v.push_back(i); 
2

벡터는 INT의 모음입니다. 당신은 당신이와 push_back() 함수를 사용하여 컬렉션에 추가 컬렉션에 int를 할당 할 수 없습니다 : 당신은 목록,지도와 같은 벡터에 어떤 것을 INT 값을 추가 할 필요가

std::vector<int> manyInts; 
int oneInt = 42; 
manyInts.push_back(oneInt); 
-2

.

관련 문제