값이 std::type_index
인 std::unordered_map
을 만들려고합니다. 다음 코드는 작동합니다지도에서 값으로 std :: type_index 사용
std::unordered_map<std::type_index, int> workingMap;
workingMap[typeid(int)] = 1;
workingMap[typeid(char)] = 2;
그러나 실행하지 않는이 하나가 오류 발생 : 나는 완전히이 오류를 이해하지 못하는
std::unordered_map<int, std::type_index> failingMap;
failingMap[1] = typeid(int);
failingMap[2] = typeid(char);
CS2512: 'std::type_index::type_index': no appropriate default constructor available.
를 생성자의 차이점은 무엇입니까 이 예제에서? 열쇠 대신 typeid(..)
이 값인 인지도를 만들 수 있습니까?
수행하여'이 맵에서 발견되지 않은 경우 failingMap [1]'당신이 기본 항목을 만들 수 있습니다. ':: try_emplace' 사용 예 – Sopel