Ben şu var:std :: map öğelerinin std :: vektörünü nasıl başlatabilirim?
#include <vector>
#include <map>
#include <string>
int main() {
std::vector<std::map<std::string, double>> data = {{"close", 14.4}, {"close", 15.6}};
return 0;
}
Ve derlemeye çalıştığınızda, aşağıdaki hatayı alıyorum:
:g++ -std=c++11 -Wall -pedantic ./test.cpp
./test.cpp:6:49: error: no matching constructor for initialization of 'std::vector >' (aka 'vector, allocator >, double> >') std::vector> data = {{"close", 14.4}, {"close", 15.6}};
std :: map'i std :: çiftlerinin bir listesi olarak düşünmeye çalışın, şunu deneyin: '{{{" close ", 14.4}}, {{" close ", 15.6}}}'. Her biri 1 çift olmak üzere 2 haritanın bir vektörü. – Chad
@Chad Answers, cevap kutusunda değil, yorum kutusuna aittir. – Barry
@Barry Tamamen çözülmüş cevaplar cevap kutusuna ait. İyi bir cevap yazmak istemedim, bu yüzden bir yorum yazdım. – Chad