[求助]关于成员模板

lucis009 2008-02-27 06:32:46
#include <deque> // use as vector


#include <iostream> // standard header


using namespace std;

template<typename T>
class CStack

{
public:

template <typename T2>
void print(void);
};

template <typename T>
template <typename T2>
void CStack<T>::print(void)
{

cout << "abc" << endl;
}

int main(void)

{


return 0;

}
//帮忙看看上面的代友有没有语法错误,我用VC6编译时报错,是不是VC6不支持成员模板?
...全文
135 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
taodm 2008-09-28
  • 打赏
  • 举报
回复
珍惜生命,远离VC6
皮蛋C 2008-09-28
  • 打赏
  • 举报
回复
定义是没错的!! 只是调用太模板类时会提示找不到实现.
最简单的方法就是:
同时包含.h和.cpp就可以了
once_and_again 2008-09-28
  • 打赏
  • 举报
回复
模版函数,模版类,
只有头文件,定义实现都在头文件。
jia_xiaoxin 2008-09-28
  • 打赏
  • 举报
回复
要想用模板,就不要用VC6
就呆在云上 2008-02-28
  • 打赏
  • 举报
回复
o 还在用vc6哦
难怪
如果机子性能不好就装个linux用gcc4
性能好就装一个vs2005、2008
iambic 2008-02-28
  • 打赏
  • 举报
回复
VC6支持成员模板,但是可能和其他编译器有所出入。
hityct1 2008-02-28
  • 打赏
  • 举报
回复
更正一下,看来vc6.0真的不支持。
CStack<int> s;//可以
s.print<int>();//不可以
7.0就可以。
sunkaidong 2008-02-28
  • 打赏
  • 举报
回复
我也还在用v6它只支持类模板,在类的成员中只支持类模板
皮蛋C 2008-02-27
  • 打赏
  • 举报
回复
VC6也行的。你得把类模板的实现放在.cpp文件里,这样哪里用的没错。
ryfdizuo 2008-02-27
  • 打赏
  • 举报
回复
你的程序没有问题,vs2005里面可以的,
  • 打赏
  • 举报
回复
正确的写法如下,可惜VC6不支持.

#include <deque> // use as vector
#include <iostream> // standard header


using namespace std;

template <typename T>
class CStack
{
public:

template <typename T2>
void print(void)
{
cout << "abc" << endl;
}
};


int main(void)
{
CStack <int> stack;
stack.template print <int> ();
return 0;
}
lucis009 2008-02-27
  • 打赏
  • 举报
回复
//我放在类内,编译通过,但在
int main(void)

{
CStack<int> stack;
stack.print<int>();//stack.print();这样调用我也试过.前者和后者一样报错
return 0;
}
hityct1 2008-02-27
  • 打赏
  • 举报
回复
VC6不支持把函数定义放在类外,把函数放在类内就可以了。
如:
template <typename T>
class CStack
{
public:

template <typename T2>
void print(void)
{

cout<<"abc"<<endl;
}

};
baihacker 2008-02-27
  • 打赏
  • 举报
回复
VC6不支持,换VC8或者devc++

64,173

社区成员

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

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