class Foo;声明

peeky01 2011-11-02 06:10:10
//file.cpp
#include <vector>
class Foo;

//condition 1
void f1(Foo f)
{
...
}

//condition 2
Foo& f2()
{
...
}

//condition 3
class B:public Foo
{
...
}

//condition 4
std::vector<Foo> v;

1、2、3、4都不能编译,原因是神马
...全文
171 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzcmx2008 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 peeky01 的回复:]
1/2/4可以是这个原因, 但是3呢 他也只是接口定义,木有分配内存

引用 4 楼 relaxisland 的回复:
引用 3 楼 peeky01 的回复:

讲讲内在原因吧。。编译器报错是因为不能调用Foo构造函数?

没有定义,单说内存分配就不知道要分配多少啊
[/Quote]

继承的时候,总要知道Foo有哪些成员吧?但是现在它找不到啊
peeky01 2011-11-02
  • 打赏
  • 举报
回复
1/2/4可以是这个原因, 但是3呢 他也只是接口定义,木有分配内存
[Quote=引用 4 楼 relaxisland 的回复:]
引用 3 楼 peeky01 的回复:

讲讲内在原因吧。。编译器报错是因为不能调用Foo构造函数?

没有定义,单说内存分配就不知道要分配多少啊
[/Quote]
relaxisland 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 peeky01 的回复:]

讲讲内在原因吧。。编译器报错是因为不能调用Foo构造函数?
[/Quote]
没有定义,单说内存分配就不知道要分配多少啊
peeky01 2011-11-02
  • 打赏
  • 举报
回复
讲讲内在原因吧。。编译器报错是因为不能调用Foo构造函数?
未注销 2011-11-02
  • 打赏
  • 举报
回复
没有定义啊不能初始化。
寻找自我 2011-11-02
  • 打赏
  • 举报
回复
class Foo;只是前向声明,没有定义。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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