社区
C++ 语言
帖子详情
这样的模版vc下是不是不能通过编译?
djs36
2004-12-26 11:14:37
template <typename Type,int size>
Type min( Type (&r_array)[size])
{
Type min_val=r_array[0];
for(int i=1;i<size;i++)
{
if(r_array[i]<min_val)min_val=r_array[i];
}
return min_val;
}
...全文
211
17
打赏
收藏
这样的模版vc下是不是不能通过编译?
template Type min( Type (&r_array)[size]) { Type min_val=r_array[0]; for(int i=1;i<size;i++) { if(r_array[i]<min_val)min_val=r_array[i]; } return min_val; }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sandrowjw
2004-12-27
打赏
举报
回复
标准里函数模板是不支持缺省参数的
zhengwei1984222
2004-12-27
打赏
举报
回复
呵呵楼主代码出现这个错误,有趣
error C2265: '<Unknown>' : reference to a zero-sized array is illegal
zhengwei1984222
2004-12-27
打赏
举报
回复
不过是不是c++标准还不肯定!
手头没。net
大家看看这段代码在net中有warning没?
#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
template <typename T = int,int MAXSIZE = 100>
void add(T* det)
{
T temp = *det;
cout<<T(temp+MAXSIZE);
}
void main()
{
int a =100;
add(&a);
}
zhengwei1984222
2004-12-27
打赏
举报
回复
的确,vc6。0中不支持函数模板使用缺省参数
warning C4519: default template arguments are only allowed on a class template; ignored
aming46
2004-12-27
打赏
举报
回复
恩,我也是用 .net的 编译是没有问题,但是怎么使用楼主所写的那个函数呢?我就是不会调用,所以才换了一种申明。那个错误也就是在我错误的调用了那个函数发生的。
没有必要去讨论vc6的支持问题,他的确支持得挺差。。。。。。。
aming46
2004-12-26
打赏
举报
回复
........
上面两位编译通过了么??解释一下吧!
我这里是编译不通过的,“error C2784: “Type min(Type (&)[size])” : 未能推导出“T1 (&)[size]”(从“int”中)的模板参数”
我把函数申明改成这样了。。。。。可以,但是味道变了,还是请高手来吧。。。。
template <typename Type>
Type min( Type* r_array,int size)
xuzheng318
2004-12-26
打赏
举报
回复
vc2003.net 编译通过!
fatalerror99
2004-12-26
打赏
举报
回复
以上代码在 VC 2003 和 Dev-C++ 中均顺利通过编译。
djs36
2004-12-26
打赏
举报
回复
那我应该怎么修改?
北极猩猩
2004-12-26
打赏
举报
回复
在哪里都不行,C++标准理不支持函数模板使用费类型参数
sandrowjw
2004-12-26
打赏
举报
回复
果然不行,就是不支持那个整数参数
sandrowjw
2004-12-26
打赏
举报
回复
不行吗?普通的函数模板是可以的吧。
fatalerror99
2004-12-26
打赏
举报
回复
大家搞搞清楚,VC6 是98年的产品了,当年,它在与它同期的 C++ 开发环境中还算不错的,只是多年没有升级而以。
如今经过 VC 2002,直到 VC 2003,如果还抱着 VC 6 不放,还说不好,就有点别有用心了吧。
想问一下,还有没有人用 Windows 98?估计不会有了吧,同期的 VC 6 为什么就不肯扔掉呢?
uframer
2004-12-26
打赏
举报
回复
这又不是什么新闻,对标准支持最好的应该是vc2003和intel8.0,vc6对标准支持之差是出了名的
sandrowjw
2004-12-26
打赏
举报
回复
看来又是VC6一大罪状阿
北极猩猩
2004-12-26
打赏
举报
回复
不好意思,记错了,函数模板是可以有非类型参数的,不过函数模板不能有缺省参数
fatalerror99
2004-12-26
打赏
举报
回复
楼上用的是那个版本,在 VC 2003 下才可以编译通过,VC 6 可能不行。
在《C++ 程序设计语言》中有这样一段叙述:
模板可以有类型参数,可以有常规类型的参数如 int,还可以有模板参数。自然,一个模板可以有多个参数。例如,
template<class T, T def_val> class Cont { /*...*/ };
如上所示,一个模板参数可以用于定义跟随其后的模板参数。
整数参数常常给用于提供大小或者界限。例如,
template<class T, int i> class Buffer {
......
所以,楼主的程序是符合 C++ 标准的,至于是否能通过编译,只与编译器是否支持有关。
VC
仿MFC的动态模板数组实例.rar
VC
仿MFC的动态模板数组实例,作者:黄建雄。本模块通过双向链表实现一个相对高效的的动态数组,函数名 :FTEB_Array_GetDestSegEntry 功能 :返回目标索引指向的段头节点的指针 输入 :pArray 一个链对象 ...
vc
6.0中 编写的一个sdl程序例子,
编译
,执行通过
vc
6.0中 编写的一个sdl程序例子,
编译
,执行通过,很适合初学者学习。里面对
vc
工程属性进行了设置,可以作为模板用以开发
反
编译
Android应用
学习技术的渠道多种多样,而通过反
编译
一些经典应用来学习是一种比较好的途径,在Android领域,有比较好的反
编译
工具,本课程将会教大家如何反
编译
Android应用。
VC
资源编辑器
VC
的简化版,专为做界面用,所以,简化版不具备
编译
功能,如果您需要能编程的
VC
,请安装VS,当然,如果您已经安装了VS,那么就不必下载简化版了。 此简化版经过"加工",不会报"找不到DLL"的错误,不同于其它站点的...
一个
VC
模板类.rar
一个
VC
模板类,因不大喜欢用STL,所以自已编写了XDynamicArray,XArray,XMap,XStack,XSet等模板类,还有XByteBuffer,XInputByteBuffer动态缓冲区数据处类。...自我感觉蛮好用的,代码在BCB6
编译
下通过的。
C++ 语言
64,644
社区成员
250,475
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章