回 帖 发 新 帖 刷新版面

主题:因需要需要显式调用模板函数__Insert<CustomizedStack>();

因需要需要显式调用模板函数 如下: template <class T> bool Insert() { //需要使用到T类型相关数据结构 悬赏分:0 | 离问题结束还有 14 天 23 小时 | 提问者:lb367925 
如题,如果使用code::blocks平台,这样的代码是可以通过编译的Insert<CustomizedStack>();
但是为什么vc6下说这是非法的使用!
怎么才能在vc6下通过!不更改原先的思路的情况下,不然很多代码需要重新写!

回复列表 (共3个回复)

沙发

扔掉vc6吧,它对C++的支持度很差,尤其是模板部分

板凳

VC6中,成员函数不能显式的指定模板参数,也就是说不能写那个尖括号。想办法用另外的写法,绕过这个bug。
当然,最好还是不要用VC6了。

3 楼


我就是不想平白无故地加一个参数让编译器知道我的类型是什么,你说的这个方法我用过,总感觉别扭!
好像听说vc6默认把insert<CustomizedStack>这样的形式认为是类的,所以有没有什么办法可以强制让他认为是函数调用呢!?
我想应该有的,不知((bool)(insert<CustomizedStack>))();这样行不行!? 
 

我来回复

您尚未登录,请登录后再回复。点此登录或注册