我主要是一名C#程序员,但我需要用C ++完成这个项目,所以我可能会遗漏一些C ++数组。
我有一个我一直在研究的DLL,正在工作并连接到处理用户界面的项目。在DLL中,我正在尝试创建一个记录器类,以便我可以将信息调试到接口中。但是当我尝试使用字符串数组时,我得到一个LNK2001错误。 Bellow是我班级的头文件。
#include <string>
using namespace std;
class Logger
{
public:
static string& GetLog();
static void Log(string message);
private:
static const int maxLogs = 1000;
static string logs[maxLogs];
};
如果删除字符串数组,则错误消失,但我需要一种方法来存储我的日志消息
答案 0 :(得分:3)
static
成员变量必须定义(恰好一次),这只是类定义中的声明。在一个.cpp
文件中添加:
std::string Logger::logs[Logger::maxLogs];