基本上,我想在我的类中调用一个静态函数,它向std :: map类型的静态成员添加一个条目。
class Foo
{
private:
static std::map<std::string, int, StringCompare> mymap;
public:
static bool addEntry(std::string id);
};
std::map<std::string, int, StringCompare> Foo::mymap;
static bool Foo::addEntry(std::string id)
{
int a = 0;
return (mymap.insert ( std::pair<std::string, int> (id, a))).second;
}
编辑:忘了提问D:
当我编译这段代码时,它给了我错误:
derp.hpp:24:41: error: cannot declare member function ‘static bool Foo::addEntry(std::string)’ to have static linkage [-fpermissive]
我该怎么办?
答案 0 :(得分:2)
对于您原来的“问题”,请使用:
Foo::addEntry("myId");
对于您遗忘的问题,只需删除static
关键字。