c++ - 使用内联静态类函数时出现未定义的类错误
问题描述
我有一个名为 CallMe 的类,它有一个访问静态变量的静态方法......
// callme.h
class CallMe{
static std::map<std::string,int> myMap;
public:
// ... Other functions for adding removing etc...
static int Get(std::string name)
{
int value = 0;
// finding value ...
return value;
}
};
// callme.cpp
std::map<std::string,int> CallMe::myMap
我正在使用位于头文件 user.h 中的其他类的 CallMe 类
// 用户.h
#include "callme.h"
class User{
public:
int Call(std::string name)
{
return CallMe::Get(name);
}
};
当我编译应用程序时,所有代码都在头文件中(CallMe::myMap 声明除外)。我得到“未定义的 CallMe”。
发生此错误是因为我在头文件中定义了类还是使用静态变量的原因...
解决方案
推荐阅读
- checkbox - JS - Checkbox doesn't work when I click on it
- python - __init__() takes from 1 to 6 positional arguments but 20 were given
- nuget - 如何在不重新安装完整 NuGet 的情况下在 Visual Studio 中还原 NuGet 包
- android - convert an xml file into File object in android?
- python - 赋值前引用的python电报bot局部变量
- docker - 在虚拟环境中使用 docker 命令失败
- here-api - apiKey 不能与 HERE Reverse Geocoder 6.2 API 一起使用?
- python-3.x - 有没有办法将熊猫数据框导出到保持数据框浮动格式的 Excel 工作表?
- c# - 是否可以进一步优化此代码,以便我不会在竞争网站上获得 Time Limit Exceeded 或 TLE?
- tensorflow - Tensorflow - deeplab 颜色图