LINUX.ORG.RU

История изменений

Исправление eao197, (текущая версия) :

Ошибка в коде-то в том, что vector<int> нехешируемый. А из объяснения компилятора это вообще неочевидно.

Очевидно, просто нужно долистать до сообщения, где об этом сказано прямо:

/usr/include/c++/10/bits/hashtable_policy.h:1112:7: error: use of deleted function ‘std::hash<std::vector<int> >::hash()’

И, надо сказать, что приведенная вами простыня из сообщений – это еще очень и очень хорошо. Мне за последние несколько недель пару-тройку раз попадались простыни, в которых указывались на ошибки в коде сторонней библиотеки (типа невозможно сгенерировать конструктор для unique_ptr<T>, где T – это шаблонный тип из чужой либы), но было совершенно непонятно что именно привело к возникновению ошибки компиляции. Ни одно из сообщений компилятора с маркером error не давало подсказки. Единственное полезное в выхлопе компилятора было note с номером строки из моего файла, откуда начались проблемы.

Вот это да, вот это реальная проблема.

Исходная версия eao197, :

Ошибка в коде-то в том, что vector нехешируемый. А из объяснения компилятора это вообще неочевидно.

Очевидно, просто нужно долистать до сообщения, где об этом сказано прямо:

/usr/include/c++/10/bits/hashtable_policy.h:1112:7: error: use of deleted function ‘std::hash<std::vector<int> >::hash()’

И, надо сказать, что приведенная вами простыня из сообщений – это еще очень и очень хорошо. Мне за последние несколько недель пару-тройку раз попадались простыни, в которых указывались на ошибки в коде сторонней библиотеки (типа невозможно сгенерировать конструктор для unique_ptr, где T – это шаблонный тип из чужой либы), но было совершенно непонятно что именно привело к возникновению ошибки компиляции. Ни одно из сообщений компилятора с маркером error не давало подсказки. Единственное полезное в выхлопе компилятора было note с номером строки из моего файла, откуда начались проблемы.

Вот это да, вот это реальная проблема.