C++静态成员变量需要在类外进行定义和初始化-error LNK2001:无法解析的外部符号

现象

在一个类的头文件中,定义了一个static类型的类变量,直接编译,会报错。

例如,在IX.h中定义一个静态的Iy变量,如下:

c 复制代码
class Ix
{
public:
	static Iy* y;
}

编译时会报错,提示如下:

复制代码
Ix.obj : error LNK2001: 无法解析的外部符号 "public: static class Iy * Ix::y" (?y@Ix@@2PAVIy@@A)

分析

原因是,在C++中,静态成员变量需要在类外进行定义和初始化。

解决方法

在Ix.cpp中初始化:

c 复制代码
Iy* Ix::y = NULL;
相关推荐
SunkingYang14 小时前
如何下载dump(C++程序生成)文件所需要的pdb文件,包含自动下载和手动拼接下载
c++·windbg·dump·dmp·pdb下载·手动下载·拼接下载
..空空的人14 小时前
C++基于protobuf实现仿RabbitMQ消息队列---接口介绍
开发语言·c++·rabbitmq
xlq2232215 小时前
23.二叉树搜索树(下)
数据结构·c++·算法
Source.Liu15 小时前
【学写LibreCAD】Rust Vector2D 实现与 C++ RS_Vector 的对应关系及优势分析
c++·rust·cad
蚂蚁取经15 小时前
Qt C++ 小部件 QCustomPlot 的使用
c++·qt·信息可视化
爱装代码的小瓶子15 小时前
【c++知识铺子】最后一块拼图-多态
java·开发语言·c++
无限进步_15 小时前
C语言文件操作函数解析
c语言·开发语言·数据库·c++·后端·visual studio
_OP_CHEN16 小时前
【算法基础篇】(二十六)数据结构封神!Trie 树从入门到爆杀算法题:拼音输入法、单词统计都靠它
数据结构·c++·算法·蓝桥杯·trie树·算法竞赛·acm/icpc
ULTRA??16 小时前
C++类型和容器在Rust中的对应关系
c++·rust
明洞日记16 小时前
【设计模式手册016】中介者模式 - 解耦多对象交互
c++·设计模式·交互·中介者模式