C++ unordered _map терпит неудачу при использовании вектора в качестве ключа

Предыстория :Я пришел из мира Java и довольно плохо знаком с C++. или Qt.

Чтобы поиграть с неупорядоченной _картой, я написал следующую простую программу.:

#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();
}

К сожалению, я столкнулся со следующей ошибкой, которая не вдохновляет. Нет даже номера строки.

:-1 :ошибка :collect2 :ld вернул 1 статус выхода

Любое представление о происхождении проблемы?

Заранее спасибо.

13
задан Pierre-Antoine 1 May 2012 в 22:12
поделиться