gpt4 book ai didi

c++ - 静态类成员,这是一个结构

转载 作者:搜寻专家 更新时间:2023-10-31 00:19:39 25 4
gpt4 key购买 nike

我有一个类,我想在其中有一个静态成员,它是一个结构。

例如:.h 文件:

typedef struct _TransactionLog
{
string Reference;
vector<int> CreditLog;
int id;
}TransactionLog;

class CTransactionLog {
static TransactionLog logInfo;
public:
static void Clear();
static TransactionLog getLog();
};

.cpp 文件:

void CTransactionLog::Clear()
{
logInfo.Reference = "";
logInfo.CreditLog.clear();
logInfo.id = 0;
}

TransactionLog CTransactionLog::getLog()
{
return logInfo;
}

我明白了

Description Resource Path Location Type

undefined reference to `CTransactionLog::logInfo' TransactionLog.cpp

有人可以给我一个如何使这项工作的例子吗?拥有一个作为结构的静态成员(具有 STL 成员),使用静态成员方法对其进行操作,并将此 header 包含在代码的其他几个部分中。这应该用于通过应用程序添加日志记录。

最佳答案

你需要在cpp文件中初始化你的静态成员:

//add the following line:
TransactionLog CTransactionLog::logInfo;

void CTransactionLog::Clear()
{
logInfo.Reference = "";
logInfo.CreditLog.clear();
logInfo.id = 0;
}

TransactionLog CTransactionLog::getLog()
{
return logInfo;
}

关于c++ - 静态类成员,这是一个结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7754390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com