求助达人,关于引用外部的类成员变量

guetcw 2007-10-27 12:48:46
我有三个cpp文件分别定义一三个类,如下:
A.cpp 文件

class a
{
public:
int a;
}
/************************
B.cpp 文件

class b
{
public:
int b;
}
/***********************
B.cpp 文件

class b
{
public:
a ca;
b cb;
}

然后我想在 B.cpp 文件中某一成员函数中引用对象cb的成员变量b

void f(void)
{
extern b cb;

int d;
d = cb.b;
}

可是编译器总是提示:"法解释的符号 class b cb" 错误,应该怎么解决这个问题呢


...全文
116 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
guetcw 2007-10-27
  • 打赏
  • 举报
回复
上面写错了,应该是
A.cpp 文件

class a
{
public:
int a;
}
/************************
B.cpp 文件

class b
{
public:
int b;
}
/***********************
C.cpp 文件

class c
{
public:
a ca;
b cb;
}
superdiablo 2007-10-27
  • 打赏
  • 举报
回复
你既然有一句extern b cb; 肯定在别的地方就要有一句b cb; ,否则就会报你说的错误,明白?

guetcw 2007-10-27
  • 打赏
  • 举报
回复
算了,贴子里写乱完了
我用另外的办法解决了
guetcw 2007-10-27
  • 打赏
  • 举报
回复
怎么样不能修改贴子的
guetcw 2007-10-27
  • 打赏
  • 举报
回复
是在A.CPP 文件中引用在C.app文件中的对象cb
不是在B.cpp
guetcw 2007-10-27
  • 打赏
  • 举报
回复
我晕,搞晕了,应该是 能直接用的话我也用不着在这发贴了
A.cpp 文件

class a
{
public:
int a;
} ;
/************************
B.cpp 文件

class b
{
public:
int b;
} ;
/***********************
B.cpp 文件

class b
{
public:
a ca;
b cb;
};

然后我想在 A.cpp 文件中某一成员函数中引用对象cb的成员变量b

void f(void)
{
extern b cb;

int d;
d = cb.b;
}
superdiablo 2007-10-27
  • 打赏
  • 举报
回复
不要用extern b cb;
而是用b cb;,extern的意思是你在另一个地方定义了一个变量,这个地方引用那个变量,你这儿显然用不着。
liuxiuk 2007-10-27
  • 打赏
  • 举报
回复
文件的结构关系你都不清楚...

写出来的代码一团乱麻..!

hehe

不要生气
慢慢来..
凤矶 2007-10-27
  • 打赏
  • 举报
回复
因为在c.cpp里没有找到a和b的声明,在class c之前
要声明
class b;
class a;

----------------------
类的定义一般放在头文件里,实现放在cpp里,在引用该类的文件包含该类的头文件
zhuwuwei 2007-10-27
  • 打赏
  • 举报
回复
太令人费解了。类大括号后面也不加;
你想在c.cpp某一成员函数中用cb?
你直接用不就行了

16,471

社区成员

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

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

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