是不是不能内联?class base
{
public:
virtual ~base() = 0 {
cout << "~base()" << endl;
}
};
g++4.3.3是遵循什么规则的?
- tanklis
- 帖子: 33
- 注册时间: 2009-05-13 22:36
g++4.3.3是遵循什么规则的?
在学习C++,发现书上提供的代码不能编译通过。。
我装的不是菜鸟,是寂寞。
- wangdu2002
- 帖子: 13284
- 注册时间: 2008-12-13 19:39
- 来自: 物华天宝人杰地灵
Re: g++4.3.3是遵循什么规则的?
只一代码片段,编译个啥,要有完整的源程序、头文件,编译过程和出错信息贴出来,会的坛友如果看到了,才能分析错误。E文要好,看gcc文档。
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
海内生明月,天涯共此夕。
--------------------吾本独!
- soething
- 帖子: 746
- 注册时间: 2008-07-23 19:06
- BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
- 联系:
Re: g++4.3.3是遵循什么规则的?
显然有问题啊, 纯虚函数怎么会有函数体..
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
- tanklis
- 帖子: 33
- 注册时间: 2009-05-13 22:36
Re: g++4.3.3是遵循什么规则的?
囧。。这不是懒。。没有贴全么。。。
我发现把纯虚函数放到类的定义外边就可以了。。但是我的tic上的例子把定义放在里边了。。所以有点疑问。。。
错误信息好像是说什么pure函数之类的。。。
我发现把纯虚函数放到类的定义外边就可以了。。但是我的tic上的例子把定义放在里边了。。所以有点疑问。。。
错误信息好像是说什么pure函数之类的。。。
我装的不是菜鸟,是寂寞。
- BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
- 联系:
Re: g++4.3.3是遵循什么规则的?
放哪都不行, 纯虚函数是用来被覆盖的.tanklis 写了:囧。。这不是懒。。没有贴全么。。。
我发现把纯虚函数放到类的定义外边就可以了。。但是我的tic上的例子把定义放在里边了。。所以有点疑问。。。
错误信息好像是说什么pure函数之类的。。。
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
- tanklis
- 帖子: 33
- 注册时间: 2009-05-13 22:36
Re: g++4.3.3是遵循什么规则的?
纯虚函数的函数体放到类的定义外部是可以的吧。。。BigSnake.NET 写了:放哪都不行, 纯虚函数是用来被覆盖的.tanklis 写了:囧。。这不是懒。。没有贴全么。。。
我发现把纯虚函数放到类的定义外边就可以了。。但是我的tic上的例子把定义放在里边了。。所以有点疑问。。。
错误信息好像是说什么pure函数之类的。。。
我装的不是菜鸟,是寂寞。
- BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
- 联系:
Re: g++4.3.3是遵循什么规则的?
查了一下, 果然可以tanklis 写了:纯虚函数的函数体放到类的定义外部是可以的吧。。。BigSnake.NET 写了:放哪都不行, 纯虚函数是用来被覆盖的.tanklis 写了:囧。。这不是懒。。没有贴全么。。。
我发现把纯虚函数放到类的定义外边就可以了。。但是我的tic上的例子把定义放在里边了。。所以有点疑问。。。
错误信息好像是说什么pure函数之类的。。。
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
- tanklis
- 帖子: 33
- 注册时间: 2009-05-13 22:36
Re: g++4.3.3是遵循什么规则的?
囧~~~BigSnake.NET 写了:查了一下, 果然可以tanklis 写了:纯虚函数的函数体放到类的定义外部是可以的吧。。。BigSnake.NET 写了:放哪都不行, 纯虚函数是用来被覆盖的.tanklis 写了:囧。。这不是懒。。没有贴全么。。。
我发现把纯虚函数放到类的定义外边就可以了。。但是我的tic上的例子把定义放在里边了。。所以有点疑问。。。
错误信息好像是说什么pure函数之类的。。。
顺便问一下,linux下编程看什么书好?最近有个涉及到音频输入输出还有过滤之类的作业。。。
我装的不是菜鸟,是寂寞。
- rchard
- 帖子: 80
- 注册时间: 2008-07-01 20:55
- 来自: Beijing
- 联系:
Re: g++4.3.3是遵循什么规则的?
类定义内部不可以又指定虚函数又有函数体的。
当虚函数作为抽象基类的析构函数,而且用了指针然后delete,必须要有函数体。
比如:
当虚函数作为抽象基类的析构函数,而且用了指针然后delete,必须要有函数体。
比如:
代码: 全选
class base {
public :
base() {}
virtual ~base() = 0; //error!
virtual ~base() {}; //ok!
};
class deriver : public base {
public :
deriver() {}
~deriver() {}
};
int main() {
deriver *p = new deriver();
delete p;
return 0;
}
- tanklis
- 帖子: 33
- 注册时间: 2009-05-13 22:36
Re: g++4.3.3是遵循什么规则的?
rchard 写了:类定义内部不可以又指定虚函数又有函数体的。
当虚函数作为抽象基类的析构函数,而且用了指针然后delete,必须要有函数体。
比如:代码: 全选
class base { public : base() {} virtual ~base() = 0; //error! virtual ~base() {}; //ok! }; class deriver : public base { public : deriver() {} ~deriver() {} }; int main() { deriver *p = new deriver(); delete p; return 0; }
呃。。呃是为什么呢?因为delete deriver时调用了~base()么?
我装的不是菜鸟,是寂寞。
- rchard
- 帖子: 80
- 注册时间: 2008-07-01 20:55
- 来自: Beijing
- 联系:
Re: g++4.3.3是遵循什么规则的?
呃……呃是为什么呢?因为我也不知道,反正c++就是这么规定的。tanklis 写了:rchard 写了:类定义内部不可以又指定虚函数又有函数体的。
当虚函数作为抽象基类的析构函数,而且用了指针然后delete,必须要有函数体。
比如:代码: 全选
class base { public : base() {} virtual ~base() = 0; //error! virtual ~base() {}; //ok! }; class deriver : public base { public : deriver() {} ~deriver() {} }; int main() { deriver *p = new deriver(); delete p; return 0; }
呃。。呃是为什么呢?因为delete deriver时调用了~base()么?
- tanklis
- 帖子: 33
- 注册时间: 2009-05-13 22:36
Re: g++4.3.3是遵循什么规则的?
rchard 写了:呃……呃是为什么呢?因为我也不知道,反正c++就是这么规定的。tanklis 写了:rchard 写了:类定义内部不可以又指定虚函数又有函数体的。
当虚函数作为抽象基类的析构函数,而且用了指针然后delete,必须要有函数体。
比如:代码: 全选
class base { public : base() {} virtual ~base() = 0; //error! virtual ~base() {}; //ok! }; class deriver : public base { public : deriver() {} ~deriver() {} }; int main() { deriver *p = new deriver(); delete p; return 0; }
呃。。呃是为什么呢?因为delete deriver时调用了~base()么?
啊啊啊啊啊啊啊 啊。。又打错字了。。唉~~~不会盲打啊。。。
我装的不是菜鸟,是寂寞。