社区
C++ 语言
帖子详情
关于静态数据成员报LNK2001错误
yanpf
2008-03-09 11:39:19
我在一个头文件里声明了一个类,类有一个静态数据成员,也是类类型的,但是是另外一个类的类型,在CPP文件中定义了这个静态数据成员,单独编译、链接这个包能通过,但是我在另外的包里只要#include这个包含静态数据成员的类的这个头文件,就会报LNK2001错误,不知道为什么啊,请各位高手指教!
...全文
155
5
打赏
收藏
关于静态数据成员报LNK2001错误
我在一个头文件里声明了一个类,类有一个静态数据成员,也是类类型的,但是是另外一个类的类型,在CPP文件中定义了这个静态数据成员,单独编译、链接这个包能通过,但是我在另外的包里只要#include这个包含静态数据成员的类的这个头文件,就会报LNK2001错误,不知道为什么啊,请各位高手指教!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
baihacker
2008-03-09
打赏
举报
回复
把那个cpp放到工程中来或者在工程中新建一个cpp文件,然后#include "那个cpp文件"
珍惜生命远离CPP
2008-03-09
打赏
举报
回复
你这个静态变量在cpp文件中初始化了没有
静态类成员变量需要初始化
class test
{
static int x;
};
cpp文件中写这样的才可以.
int test::x = 0;
我啃
2008-03-09
打赏
举报
回复
链接时候要链接定义那个静态数据成员的.cpp文件,否则会链接失败
野男孩
2008-03-09
打赏
举报
回复
外面那个是定义。类里面那个才是声明~
ryfdizuo
2008-03-09
打赏
举报
回复
同意2楼的说法,外面申明一下的。
相关推荐
error
LN
K2
001
原来类
静态数据
成员
没有初始化也会导致这个
错误
。
error
LN
K2
001
: 无法解析的外部符号
编译的时候
报
了
LN
K2
001
的
错误
,经查发现为未初始化静态
成员
变量,如下对静态
成员
进行初始化就
类的静态
成员
如果在一个类中定义了
静态数据
成员
,却没有在使用之前给它赋值,则会出现下面的
错误
: error
LN
K2
001
: 无法解析的外部符号 "private: static float Student::sum" (?sum@Student@@0MA)
error
LN
K2
001
: unresolved external symbol "private: static
一般情况是类中定义了一个静态公共变量 定义完成编译连接。提出上面的
错误
。解决办法对静态变量进行初始化就行了。下面给出使用静态变量(static)的一些提示
静态数据
成员
的使用方法和注意事项如下: 1、
静态数据
成员
在定义或说明时前面加关键字static。 2、静态
成员
初始化与一般数据
成员
初始化不同。
静态数据
成员
初始化的格式如下: <数据类型><类名>::<
静态数据
成员
名>=<值> 这
C++路上的坑“静态
成员
属性”
错误
LN
K2
001
无法解析的外部符号
C++ 语言
63,594
社区成员
250,391
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下