Arka plan: Java dünyasından geliyorum ve C++ veya Qt'ye oldukça yeniyim.C++ unordered_map, bir vektörle birlikte kullanıldığında başarısız
#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();
}
Ne yazık ki, ilham verici değil folowing hata içine çalıştırıyorum: unordered_map ile oynamak için
, şu basit programı yazdım. Hatta bir hat numarası yok.
:-1: error: collect2: ld returned 1 exit status
Sorunun kökeniyle ilgili herhangi bir fikir var mı?
Şimdiden teşekkürler.
Bir "vektör" –
alan bir karma işlevine gereksiniminiz var. Bu bir çalışma zamanı hatası değil. –
@SethCarnegie Sorun benim de geldiğim şeydi. Ancak, bana göre, vektör gibi temel bir sınıfın bir varsayılan karma işlevi olması gerekir. Eğer durum böyle değilse, bana nasıl bir malzeme sağladığımı veya bir malzemeye nasıl yönlendireceğinizi açıklayabilir misiniz? Teşekkür ederim! –