0
따라서 함수의 목적은 1과 제공된 정수 (포함) 사이의 배열에 홀수를 더하는 것입니다. 간단한 작업처럼 보이지만 실제 배열에 정수를 성공적으로 추가 할 수는 없습니다.Push_back 홀수
void populate(std::vector<int> ary, int a)
{
for (int i = 1; i <= a; i++)
{
if (i % 2 != 0)
{
ary.push_back(i);
}
}
}
함수 자체가 const가 아니므로 배열에 값을 성공적으로 추가해서는 안됩니까?
편집 : 이것은 모두 메인에서 이루어 지므로 여기에 있습니다.
int main()
{
std::vector<int> loli(100);
populate(loli, 31);
for (int value : loli)
{
std::cout << value << " ";
system("pause");
}
}
EDIT 2 : 대신 return 문을 추가하려고했지만 결과는 0입니다.
std::vector<int> populate(std::vector<int> ary, int a)
{
for (int i = 1; i <= a; i++)
{
if (i % 2 != 0)
{
ary.push_back(i);
}
}
return ary;
}
int main()
{
std::vector<int> loli(100);
for (int value : populate(loli, 31))
{
std::cout << value << " ";
system("pause");
}
}
STD : 벡터 채우기 ( 진 표준 : 벡터는 INT a) {위한 \t (나는 ++; I <= A I = 1 INT)! = 0) { \t \t \t \t \t \t \t \t ary.push_back (I); \t \t \t \t} \t} \t 창 (진); } 이 마음에 드십니까? –
Granzo
예. return 문이 없으면 함수는 아무 것도 반환하지 않고 함수를 호출하면 아무 것도 수행하지 않습니다. 또한 함수를 호출 할 때 반환 된 값을 변수 – Heapify
에 저장해야합니다. 어떤 이유로 든 작동하지 않습니다. – Granzo