У меня есть std::array<unsigned, 3>
, определенный внутри класса. Я хочу инициализировать его внутри конструктора, например:
MyClass::MyClass(std::map<std::string, std::string> const&data)
{
MyArr[0] = (unsigned)(std::atoi(data["one"].c_str()));
MyArr[1] = (unsigned)(std::atoi(data["two"].c_str()));
MyArr[2] = (unsigned)(std::atoi(data["three"].c_str()));
}
Скомпилировав этот код в последнем выпуске MSV C с
cl /EHsc /O2 /std:c++17 main.cpp
I получить
error C2397: conversion from 'int' to 'unsigned int' requires a narrowing conversion
он указывает на строку 2, если фрагмент.