您缺少大括号:
price_stock["BRAZIL"] = {
{ // first element in vector
{"IPHONE",{100,100}} // element in inner map
},{ // second element in vector
{"IPOD",{65,100}} // element in inner map
}
};
,
下面我给出了一个简单的示例,说明如何在C ++中使用结构。
#include <iostream>
#include <string>
#include <map>
#include <vector>
struct prices {
std::string title;
int stock;
int price;
};
int main ()
{
std::map<std::string,std::vector<prices> > priceMap;
std::vector<prices> priceVec {{"IPHONE",100,100},{"IPOD",65,100}};
priceMap["Brazil"] = priceVec;
for (auto& itemVector : priceMap) {
for (auto& structItem : itemVector.second) {
std::cout << structItem.title << ":" << structItem.price << std::endl;
}
}
}
本文链接:https://www.f2er.com/3168734.html