C ++ unordered_map falla cuando se usa con un vector como clave
Antecedentes: Vengo del mundo Java y soy bastante nuevo en C ++ o Qt.
Para jugar con unordered_map, he escrito el siguiente programa simple:
<code>#include <QtCore/QCoreApplication> #include <QtCore> #include <iostream> #include <stdio.h> #include <string> #include <unordered_map> using std::string; using std::cout; using std::endl; typedef std::vector<float> floatVector; int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); floatVector c(10); floatVector b(10); for (int i = 0; i < 10; i++) { c[i] = i + 1; b[i] = i * 2; } std::unordered_map<floatVector, int> map; map[b] = 135; map[c] = 40; map[c] = 32; std::cout << "b -> " << map[b] << std::endl; std::cout << "c -> " << map[c] << std::endl; std::cout << "Contains? -> " << map.size() << std::endl; return a.exec(); } </code>
Desafortunadamente, me estoy topando con el siguiente error que no es inspirador. Ni siquiera hay un número de línea.
: -1: error: collect2: ld devolvió 1 estado de salida
¿Alguna idea del origen del problema?
Gracias por adelantado.