社区
C语言
帖子详情
关于类定义的问题
scicos
2001-07-30 01:18:22
class A;
class B;
class A{
....
}
class B{
...
}
A类中有一个成员函数返回的类型是B,但是在编译是该成员函数出现错误:
error C2027: use of undefined type 'B'
为什么?
...全文
138
12
打赏
收藏
关于类定义的问题
class A; class B; class A{ .... } class B{ ... } A类中有一个成员函数返回的类型是B,但是在编译是该成员函数出现错误: error C2027: use of undefined type 'B' 为什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ExitWindows
2001-07-31
打赏
举报
回复
up
salesman
2001-07-31
打赏
举报
回复
楼上说的显然不是一回事。
返回B 和返回B& (或B*)肯定不一样。
(有肯能如STLer(VC++)所说的)
也不是拼写的问题。
上机试一下就很清楚了。
leesungyong
2001-07-30
打赏
举报
回复
为什么我的没问题?
a.h文件
#if !defined(AFX_A_H__7A2BE111_7078_406A_B8E0_2E7A3D5BDFCB__INCLUDED_)
#define AFX_A_H__7A2BE111_7078_406A_B8E0_2E7A3D5BDFCB__INCLUDED_
#include "B.h"
class A;
class B;
class A
{
public:
B Fun();
A();
virtual ~A();
};
#endif // !defined(AFX_A_H__7A2BE111_7078_406A_B8E0_2E7A3D5BDFCB__INCLUDED_)
A.cpp文件
#include "A.h"
A::A()
{
}
A::~A()
{
}
B A::Fun()
{
return B();
}
B.h文件
#if !defined(AFX_B_H__B9F203F6_2492_439B_A6F4_0794450A3605__INCLUDED_)
#define AFX_B_H__B9F203F6_2492_439B_A6F4_0794450A3605__INCLUDED_
#include "A.h"
class A;
class B;
class B
{
public:
A Fun();
B();
virtual ~B();
};
#endif // !defined(AFX_B_H__B9F203F6_2492_439B_A6F4_0794450A3605__INCLUDED_)
B.cpp文件
#include "B.h"
B::B()
{
}
B::~B()
{
}
A B::Fun()
{
return A();
}
scicos
2001-07-30
打赏
举报
回复
class B;
class A{
public:
B operator+(B& b);
....
}
class B{
...
}
只有函数的声明就对了,可是如果在B operator+(B& b)后面紧跟函数的定义,就会报错。
holyfire
2001-07-30
打赏
举报
回复
class B;
class A{
....
};
class B{
...
};
这样应该就可以了,是不是B*,B&都不关事
可能是拼写错误
将代码贴全一点看看
salesman
2001-07-30
打赏
举报
回复
同意_STLer(VC++),
class A 这个预声明没有用。
如果把B的定义放在A的前头,或换成 B&或B*
肯定都没有了use of undefined type 'B'这个问题。
scicos
2001-07-30
打赏
举报
回复
好象还是没什么用吗?我在写的详细一些
class A;
class B;
class A{
public:
B operator+(B& b);//换成B& or B*都不对
....
}
class B{
...
}
也就是说A类的对象喝B类的对象相加,结果为B
_STLer
2001-07-30
打赏
举报
回复
将返回类型声明为B& or B*试试,如果返回B将导致类B的=operator & B(B& b) (?这一点希望讨论?)被调用,必须有完整的声明!
scicos
2001-07-30
打赏
举报
回复
to DimVar()
不行
wanghu
2001-07-30
打赏
举报
回复
成员函数返回的类型改为*B试试
wolfboy
2001-07-30
打赏
举报
回复
gz
DimVar
2001-07-30
打赏
举报
回复
class B;
class A;
class A{
....
}
class B{
...
}
JAVA_API1.6文档(中文)
java.lang.reflect 提供
类
和接口,以获得关于
类
和对象的反射信息。 java.math 提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的
类
。 java.net 为实现网络应用程序提供
类
。 java....
Java内部
类
的
定义
、如何创建内部
类
、内部
类
的分
类
、内部
类
与外部
类
的关系
文章目录1 内部
类
的基本概念1.1 内部
类
的
定义
1.2 内部
类
的优缺点2 创建内部
类
2.1 在外部
类
外部创建非静态内部
类
2.2 在外部
类
外部创建静态内部
类
2.3 在外部
类
内部创建内部
类
语法3 内部
类
的分
类
3.1 成员内部
类
3.2 静态...
C++中的
类
——
类
的
定义
和声明
面向对象最大的特征就是提出了
类
和对象的概念。在以面向对象的方式开发应用程序时,将...一、
类
的
定义
class/struct
类
名 //
类
头 {数据和方法的
定义
(可能含有
类
型成员)}; //
类
体 1、使用class和struct的...
Python
类
的
定义
和使用
优秀是一种属性,只要我们这
类
努力学习的人才能调用,带大家一起学习
类
的
定义
与使用(一起努力,咱们顶峰相见)
白话C++系列(9)--
类
内
定义
与
类
外
定义
精彩的
类
外
定义
类
内
定义
问题
:什么是
类
内
定义
?将成员函数的函数体写在
类
的内部的方式称为
类
内
定义
。比如下面的Student的
类
,我们可以看到,在
定义
成员函数的时候,包括每个成员函数用于实现的函数体,都在
类
的内部...
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章