int a[4] = {10,20,30,40};
std::vector<int> vec(4);
std::copy(a, a + 4, vec.begin());
Я получаю следующий errorin vC++, он говорит предупреждение, но помечен как ошибка, как я могу это решить?C++ массив копия, показывающая ошибки в vC++
Тяжесть Код Описание проекта Строка файла Подавление Государственный Ошибка C4996
std::copy::_Unchecked_iterators::_Deprecate
: Вызовstd::copy
с параметрами, которые могут быть небезопасны - это вызов полагается на вызывающего абонента, чтобы проверить, что принятые значения являются правильными. Чтобы отключить это предупреждение, используйте -D_SCL_SECURE_NO_WARNINGS. Смотрите документацию о том, как использовать Visual C++ 'Проверено итераторы' ConsoleApplication3 е: \ Программы \ VC \ включить \ xutility 2372
Используйте 'std :: begin (a)' и 'std :: end (a)'. В его нынешнем виде вы задаете размер с помощью 'a + 4', и что произойдет, если вы толстый палец' a + 5' там? – lcs
std :: copy (std :: begin (a), std :: end (a), vec.begin()); также показывает ту же ошибку. – Curious
'std :: copy (std :: begin (a), std :: end (a), std :: back_inserter (vec))' – lcs