我正在按照维基百科的说明进行迭代器分配。但是,它并没有让我出错,但出现了一些错误:
没有运算符“ =”与这些操作数匹配
二进制'=':未找到采用类型为右侧的操作数的运算符 'std :: _ Tree_const_iterator >>' (或没有可接受的转化)
这是我的单个功能:
void InventorySystem::exportArchive(string binaryLocation) const{
ofstream file(binaryLocation.c_str()); // .c_str() returns the C-string version of the string object. Required to open the file if you stored the name in a string.
file << inventory.size() << endl;
map<int, Part*>::iterator it;
it = inventory.begin(); // The error takes place here <----
file.close();
}
这就是我的.h中的内容:
class InventorySystem {
public:
InventorySystem() {};
bool insert(Part& a);
Part* find(int id);
void exportArchive(string binaryLocation) const;
private:
map <int, Part*> inventory; // Where inventory variable comes into play <----
};
这是怎么回事?为什么我什至不能将迭代器分配给“库存”变量映射的开头?