Namaran

Code daily. Without assist.

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)に変更し、nnums内の実際の要素への参照になるようにしてください。