我主要是一名 C# 程序员,但我需要用 C++ 完成这个项目,所以我可能会遗漏一些 C++ 数组的内容。
我有一个我一直在使用的 DLL,女巫正在工作并连接到处理用户界面的项目中。在 DLL 中,我试图制作一个记录器类,以便我可以将信息调试到界面中。但是当我尝试使用字符串数组时出现 LNK2001 错误。下面是我的类(class)头文件。
#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];
};
如果我删除字符串数组,错误就消失了,但我需要一种方法来存储我的日志消息
最佳答案
static
成员变量必须定义(恰好一次),这只是类定义中的一个声明。在一个 .cpp
文件中添加:
std::string Logger::logs[Logger::maxLogs];
关于c++ - 为什么字符串数组会导致 LNK2001 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18062287/