首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

链接异常error LNK2001

2013-10-04 
链接错误error LNK2001有两个类,server类,database类(连接mysql的)我在server类中定义了一个database类的

链接错误error LNK2001
有两个类,server类,database类(连接mysql的)
我在server类中定义了一个database类的静态指针,编译连接没有错误。但是在int main主函数里面,用该静态指针指向一个我顶一个的database类的实体的时候,再编译却出现问题,我感觉非常费解。请问有人遇到过这种问题吗?实在搞不懂了。。。 server 指针 mysql database
[解决办法]

引用:
Quote: 引用:

必要的库文件都都有了吗、?

都有了啊,这是具体的错误,我试了一下,似乎是定义的静态变量不能在int main中赋值??
关键是,声明是正确的,只要赋值就出现连接错误,不知道什么原因呢
1>CTLserver.obj : error LNK2001: 无法解析的外部符号 "public: static class CDBAdo * server::database" (?database@server@@2PAVCDBAdo@@A)
1>D:\My Documents\Visual Studio 2008\Projects\CTLserver\Debug\CTLserver.exe : fatal error LNK1120: 1 个无法解析的外部命令

server类中定义了一个database类的静态指针----我觉得楼主该看看静态数据成员的访问方式 类的静态数据成员在内存中只用一份 所以 不属于哪个对象(serv->database=new CDBAdo(); 不属于serv)关于怎么访访问静态成员  楼主翻翻书 或者查一下 印象深刻
[解决办法]
引用:
Quote: 引用:

static A * a;
先在类外初始化下。
b.cpp
A * B::a = NULL;

恩,你说的问题解决了,可以说一下原因吗?可能我还没转过来

static A * a;
只是声明,所有B对象都有一个a,a要先于对象存在,只有赋值后a才存在。

热点排行