Std::unordered_map с использованием ключа с явным конструкторомC++

Программы на C++. Форум разработчиков
Anonymous
Std::unordered_map с использованием ключа с явным конструктором

Сообщение Anonymous »

Я пытаюсь скомпилировать этот фрагмент кода, но с Gcc15 и Clang21 он не компилируется.
Он компилируется с gcc 14 и Clang20.
Я хочу создать std::unordered_map и использовать класс с явным конструктором в качестве ключа.

Код: Выделить всё

#include 
#include 

class Key{
public:
explicit Key(){}
explicit Key(unsigned int x):_k{x}
{}
size_t operator()(const Key& p) const {
return p._k;
}
private:
unsigned int _k;

};

int main(int argc, char** argv) {

std::unordered_map m;
return 0;
}
Проблема связана с явной работой клавиш. Удаление явного ключевого слова приведет к компиляции кода.

Подробнее здесь: https://stackoverflow.com/questions/797 ... onstructor

Вернуться в «C++»