나는 완전한 C++초보자 및 할당 함수를 작성하는 반환 요소의 번호입니다. 아래 나는 포함 기능도 만들어라 print_vector
는 인쇄의 모든 요소를 벡터습니다.
에 할당을 확인하기 위해서는 경우 factorize
기능 작동,우리가 사용하는 test_factorize
기능을 제공하는데,내가도 포함되어 있습니다. 그러나 문제는 나에서 실행하는 것은 주어 test_factorize
이 작동하지 않으로 인해 오류"의 초기값을 참조하여 비수해야 합 lvalue." 내가 모르는 이것이 무엇을 의미와 이유 test_factorize
으로 실행되기 때문에 문제가 출력 factorize
은 벡터의 입력 print_vector
또한 벡터,그래서 이런 내용의 test_factorize
오류가 발생하지만,저는 그것을 의심 뭔가가 될 수 있에서`인수 분해'기능이 내가 정의되는 원인이 오류가 있습니다.
#include <iostream>
#include <vector>
using namespace std;
void print_vector(std::vector<int>& v) {
for (int i = 0; i < v.size(); i++) {
cout << v[i] << " ";
}
cout << endl;
}
std::vector<int> factorize(int n) {
std::vector<int> answer;
for (int i = 1;i < n + 1; ++i) {
if (n % i == 0) {
answer.push_back(i);
}
}
return answer;
}
void test_factorize() {
print_vector(factorize(2));
print_vector(factorize(72));
print_vector(factorize(196));
}