返回信息流最近在看C++ Primer 第三版。
在练习10.1中有这样一个问题:指出下列模板定义中哪些是错误的,并将其改正。
(b). template < class T >
T foo( int *T );
在答案中,这个定义是正确的,觉得很奇怪,用VC6.0和Dev-C++分别试了下,发现两个编译器中,函数的声明都是可以通过编译的,但是VC6.0中写函数的定义没有问题,在Dev-C++中写函数定义的时候,会报错。
即便是在VC6.0中通过了编译,在函数体中,T也只能作为一个普通变量来处理,而不能作为一个类型来处理。
个人认为这样的函数声明使得模板类型失去了意义,不知道C++标准中对这个问题是怎么处理的,请大牛们解释一下。。
不胜感激!
这是一条镜像帖。来源:北邮人论坛 / cpp / #9998同步于 2008/7/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
[求助]C++ Primer中关于模板定义的问题
cshk
2008/7/23镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。