未解析的外部符号:cpp 文件中定义的类中声明的静态函数

问题描述 投票:0回答:1

我的代码如下所示:

//Renderer.h file
#pragma once

class Renderer {
public:
static int Test();
};
//Renderer.cpp file
#include "../Header/Renderer.h"
#include <iostream>

int Renderer::Test() {
    std::cout << "This is a test" << std::endl;
    return 1
}

//main.cpp file
#include "Renderer/Header/Renderer.h"
int main()
{
    Renderer::Test();
}

每当我尝试运行此代码时,都会收到未解决的外部符号错误。我尝试使用虚拟类创建一个不同的文件,具有完全相同的代码,并且这个文件工作得很好,没有任何错误。

我真的不明白我做错了什么。

linker unresolved-external static-functions
1个回答
0
投票

好的,所以我创建了一个新的头文件和cpp文件,并将Renderer.h和Renderer.cpp中的相关内容复制到新文件中,删除了原始文件并将新文件重命名为与旧文件相同的名称,现在有用。问题似乎出在 Visual Studio 上。

© www.soinside.com 2019 - 2024. All rights reserved.