VS2022 错误 LNK2001 无法解析的外部符号

错误 LNK2001 无法解析的外部符号 “private: static struct std::once_flag ThreadPool::flag_” (?flag_@ThreadPool@@0Uonce_flag@std@@A) STL D:\VS2019\STL\源.obj 1

在这里插入图片描述

错误原因 :链接器无法解析 ThreadPool::flag_ 这个静态成员变量。这通常是因为静态成员变量在声明之后没有进行定义。

解决方案

在.cpp里面对这个静态的成员变量进行初始化。

如果不是这个静态成员函数的问题 , 也爆出无法解析的外部符号这个错误

  1. 检查main , 是否书写正确。

  2. 检查 ,类的成员函数是否全部都实现。

  3. 实现的方式与声明不匹配。

  4. 最后如果发现 ,1、2 、3都没用任何问题 ,那么此时在 main 文件中 将头文件。

    #include "Human.h"
    // 改成
    #include "Human.cpp"
    
  5. 如果你是使用的是模板函数 , 那么请将定义和实现都放在 . h 文件下。如下

    class Human{
    public:
    	Human();
    	~Human();
    	template <typename F , typename...  Agrs>
    	void push_task(F &&f , Agrs&&...  agrs);
    };
    
    template <typename F, typename...  Agrs>
    void ThreadPool::push_task(F&& f, Agrs&&...  agrs) {
    	// 具体实现
    }
    
    

不出意外 ,应该可以解决所有问题 ,此时如果没用解决你的问题 ,那么请你一定要联系我。直接博客给我发消息。

  • 14
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

零二年的冬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值