2026-08-24
double_all.cpp
#include <vector>
void double_all(std::vector<int>& nums) {
for (int n : nums) {
n *= 2;
}
}
double_all(v)を呼び出しても、vはまったく変化しません。バグを見つけて、最小限の変更で直してください。
Answer
for (int n : nums)は各要素をnにコピーしているため、nを2倍にしてもコピーが変わるだけです。for (int& n : nums)に変更し、nがnums内の実際の要素への参照になるようにしてください。