+ 1

Why map insertion is not compiled

Can any one suggest error here ? I have provided < overloaded operator as well. https://code.sololearn.com/cdgaPEt823K1/?ref=app

29th Jun 2021, 7:13 PM
Ketan Lalcheta
Ketan Lalcheta - avatar
1 Answer
+ 2
The mapped type must be default-constructible, because if the key does not exist, the corresponding newly created element must first be constructed somehow before a reference to it can be returned. After all, the operator [] overload itself has no access to the value you are trying to assign afterwards. Since your class does not provide a default constructor, an error is triggered. See: https://en.cppreference.com/w/cpp/container/map/operator_at
29th Jun 2021, 7:38 PM
Shadow
Shadow - avatar