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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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