50分求解:vc中创建对象时出现的"连接"错误

erplooya 2005-07-17 11:08:15
我定义了一个自己的类叫chess,并且在chess类中定义了一个chess类型的指针变量*b, 然后在另一个类的cpp文件中用extern chess *b引用这个变量,并且在一个函数中new一个chess对象并赋值给b。最后单独编译所有的cpp文件都能顺利成功,但link时总是报错说:
Linking...
gameFrame.obj : error LNK2001: unresolved external symbol "class chess * b" (?b@@3PAVchess@@A)
Debug/gameApp.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

不知我错在那里了?
...全文
130 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
远志999 2005-07-18
  • 打赏
  • 举报
回复
放在类中,包含头文件,用成员的方法调用就可以了!
ok1234567 2005-07-18
  • 打赏
  • 举报
回复
类的使用
在其它类中使用某个预先定义的类
在头文件(.h)中类的定义之前:
class chess;
....
chess * m_pChess;

在实现文件(.cpp)中:
#include "chess.h"
.....
m_pChess = new chess;
m_pChess->....
或者直接指向某个实例:
m_pChess = g_pOther->m_pChess;
蒋晟 2005-07-18
  • 打赏
  • 举报
回复
>我定义了一个自己的类叫chess,并且在chess类中定义了一个chess类型的指针变量*b, 然后在另一个类的cpp文件中用extern chess *b引用这个变量
这样引用是错误的。extern chess *b是一个全局变量,而chess类中定义的一个chess类型的指针变量*b是成员变量。即使b是静态的,访问它也需要加上chess::前缀。
oyljerry 2005-07-17
  • 打赏
  • 举报
回复
前置申明,然后定义指针类型
hifan 2005-07-17
  • 打赏
  • 举报
回复
某个类或者某个函数 有 声明,但是编译器却找不到 定义!!!!!
vcmute 2005-07-17
  • 打赏
  • 举报
回复
class chess;
类中
chess * b;
erplooya 2005-07-17
  • 打赏
  • 举报
回复
试过了,不行呀
Zhymax 2005-07-17
  • 打赏
  • 举报
回复
class chess * b; 需要全局定义,放到类外边



erplooya 2005-07-17
  • 打赏
  • 举报
回复
什么叫前置申明

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧