社区
C++ 语言
帖子详情
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都不能编译,原因是神马
...全文
224
6
打赏
收藏
class Foo;声明
//file.cpp #include class Foo; //condition 1 void f1(Foo f) { ... } //condition 2 Foo& f2() { ... } //condition 3 class B:public Foo { ... } //condition 4 std::vector v; 1、2、3、4都不能编译,原因是神马
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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;只是前向声明,没有定义。
C++知识分享:前置
声明
及其解析
前置
声明
是C/C++开发中比较常用的技巧,主要用在三种情形: 变量/常量,例如externintvar1;; 函数,例如void
foo
();,注意类的成员函数无法单独做前置
声明
; 类,例如
class
Foo
;,也可以前置
声明
模板类:template
class
<typenameT1,intSIZE>
Foo
;。如果类包含在名字空间中,需在名字空间内做前置
声明
:namespacetlanyan{
class
Foo
;};,而不能这样:
class
tlanyan::
Foo
;。 ...
类的前向
声明
,
class
和include的区别
前向
声明
的定义:有些时候我们可以
声明
一些类但是并不去定义它,当然这个类的作用也很有限了。比如
class
foo
;
声明
一个
foo
类,这个
声明
,有时候也叫做前向
声明
(forward declaration),在
声明
完这个
foo
类之后,定义完这个
foo
类之前的时期,
foo
类是一个不完全的类型(incomplete type),也就是说
foo
类是一个类型,但是这个类型的一些性质(比如包含哪些成员,具有哪些操
Java面试题(六)
默认RMI采用的是什么通信协议?(C) A、 HTTP B、 UDP/IP C、 TCP/IP D、 Multicast 解析: TCP/IP是远程通讯的主要手段; Given: //point X public
class
Foo
{ public static void main(String[] args) throws Exception { Print...
php
class
声明
变量,PHP:将一个类变量
声明
为一个std
Class
对象
您不能在类成员
声明
中使用函数(包括构造函数).而是在类的构造函数中设置它.
class
Foo
{private $bar;private $baz;public function __construct() {$this->bar = new std
Class
();$this->baz = new Bat();}public function __get($key) {if(isset...
C/C++编程:
class
用法
声明
类
声明
有作用域枚举类型 在模板
声明
中,
class
可用于引入类型模板形参与模板模板形参 若作用域中存在具有与某个类类型的名字相同的名字的函数或变量,则
class
可附于类名之前以消歧义,这产生一个详述类型说明符 示例
class
Foo
; // 类的前置
声明
class
Bar { // 类的定义 public: Bar(int i) : m_i(i) {} private: int m_i; }; template <
class
T> //
C++ 语言
65,186
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章