链接异常error LNK2001
链接错误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才存在。