gpt4 book ai didi

C++错误LNK2001问题

转载 作者:行者123 更新时间:2023-11-28 07:59:05 31 4
gpt4 key购买 nike

我是 cpp 的新手,但已经使用 c# 一段时间了。我正在尝试运行一个简单的控制台应用程序,但收到此 LNK2001 错误消息。

我有 main.cpp,并添加了另一个类 Zeus,其中包含文件 Zeus.h 和 Zeus.cpp。

这是 main.cpp:

#include "Zeus.h"
#include <iostream>

int main()
{
Zeus::tick = 25.0;
using std::cout;
cout << "nothing";
}

这是 Zeus.h:

static class Zeus
{
public:
static void testing(void);
public:
static double tick;
};

这是 Zeus.cpp:

void Zeus::testing(void)
{
//Doesnt get this far
//But eventually something like
// cout << "test " << Zeus::tick;

}

这是错误信息:

错误 20 error LNK2001: 未解析的外部符号“public: static double Zeus::tick”

谢谢,

最佳答案

您需要定义 Zeus::tick,通常您会在 Zeus.cpp 文件中进行定义。你只是声明了它。

double Zeus::tick = 0.0;

此外,C++ 中没有static class

顺便说一句,自由函数可以放在命名空间中,而不是类的静态函数。这是 C++ 中的首选方式,除非有充分的理由将函数设为静态。

namespace Dionysus {
void testing();
}

关于C++错误LNK2001问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11972770/

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