Sho*_*hoe 0 c++ vector operators
class Map {
private:
std::vector<std::string> key;
std::vector<std::string> storage;
int i;
public:
Map();
Map* set(std::string, std::string);
std::string get(std::string);
};
Map::Map() {}
Map* Map::set(std::string k, std::string v) {
key.push_back(k);
storage.push_back(v);
i++;
return (this);
}
std::string Map::get(std::string k) {
for (int k = 0; k < i; i++)
if (key[i] == k)
return storage[i];
}
Run Code Online (Sandbox Code Playgroud)
这次我还在玩C++和课程.我还没有"研究过"地图和矢量,只是阅读了一些文档.这个课程没有任何意义,只能尝试一下,所以:是的,我知道类似于我想要实现的东西已经存在.
为什么,编译这段代码,我得到:
main.cpp:32:错误:'((Map*)this)中的'operator =='不匹配 - > Map :: key.std :: vector <_Tp,_Alloc> :: operator [] [with _Tp = std :: basic_string,std :: allocator>,_ Alloc = std :: allocator,std :: allocator >>]((long unsigned int) ((Map*)this) - > Map :: i))== k'
我的意思是,真的是这个==运算符在向量中不存在吗?