我在头文件中有以下代码:
#include <string>
using std::string;
#include <map>
using std::map;
#include <utility>
using std::pair;
#include "share.h"
#include "bond.h"
#include "projectEnumsDefines.h"
namespace mtm {
class Account {
string id;
double money;
RequestType type;
map<share, int> shares;
map<bond, int> bonds;
public:
void checkBondsAndUpdate() {
for(auto &it1 : bonds) {
bond bond = it1.first;
}
}
// class implementation
};
}
我试图通过迭代“债券”地图来访问checkBondsAndUpdate中的债券键。
但是在“债券债券= it1.first”这一行上它给出了一个错误“字段first
无法解决”。这可能是什么问题?感谢
编辑:如果我这样做就行了
pair<bond,int> pair = it1;
bond bond = pair.first;
而不是
bond bond = it1.first;
唯一的问题是为什么..