【发布时间】:2021-04-18 07:25:51
【问题描述】:
当我尝试编译时,我得到这个错误:
LNK2019:未解析的外部符号“public:static void __cdecl A::FUNC_TEST(void)"
标题如下:
#pragma once
class A
{
public:
static A global_var;
private:
A();
virtual ~A();
A(const A&) = delete;
A& operator=(const A&) = delete;
public:
static void FUNC_TEST();
};
而源文件如下:
#include "A.hpp"
A A::global_var;
A::A(){}
A::~A(){}
static void A::FUNC_TEST(){}
及主要功能:
#include <iostream>
#include "A.hpp"
int main() {
A::FUNC_TEST();
return 0;
}
我缺少一些基本的东西.. 到目前为止,我已经搜索了许多类似的问题,其中大多数以缺少 global_var 的声明或类名的访问说明符而告终。
非常感谢您的帮助。
编辑: cmake 文件:
cmake_minimum_required(VERSION 3.17)
project(Ex1)
set(CMAKE_CXX_STANDARD 14)
add_executable(Ex1 main.cpp)
【问题讨论】:
标签: c++ static c++14 static-methods unresolved-external