应该选择哪个编译器

APIandMFC 2008-11-30 03:33:13

#include<iostream>
using namespace std;
template<typename T,double val>
T add(T const& a)
{
return a+val;
}
int main()
{
double p=3.4;
cout<<add<double,30.5>(p);
return 0;
}


上面这个程序在VC6下编译通过,但是在DEV C++下编译通不过.

书上说这个程序应该是不能通过的(<<C++ Temlates>>).

那么我该选择哪个编译器呢?
...全文
945 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyx119 2008-11-30
  • 打赏
  • 举报
回复
VS2005不错
dfkjsdhfks 2008-11-30
  • 打赏
  • 举报
回复
VC6.0对标准支持度确实不是很高,但仍是一款经典,后续版本要好一些,有些支持度已经达到百分之九十多
星羽 2008-11-30
  • 打赏
  • 举报
回复
double 是 illegal type for non-type template parameter 'parameter'

用vs2005吧
ken_scott 2008-11-30
  • 打赏
  • 举报
回复
一直在在用VC6.0,所以不知道,不过在VC6.0下是常发生一些令人意外的事情
霍大脚 2008-11-30
  • 打赏
  • 举报
回复
我用的是Microsoft Visual Studio 9.0/MSDN9.0
wblong9115 2008-11-30
  • 打赏
  • 举报
回复
vc6对标准支持的本来就不怎么样
bainan 2008-11-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 Kasmile 的回复:]
直接奔VC9.0
[/Quote]

不错
nullah 2008-11-30
  • 打赏
  • 举报
回复
UP
hhyttppd 2008-11-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hhyttppd 的回复:]
double做为模板参数是不被标准支持的,所以不要这么种
vc6在这方面是比较废,你可以用dev c++或vc7.1以后的
[/Quote]

更正一下,double是不可以做为模板非类型参数(non-type),免得被板砖拍,呵呵
逆流UPING 2008-11-30
  • 打赏
  • 举报
回复
g++ linux下学习比较不错的啊
Kasmile 2008-11-30
  • 打赏
  • 举报
回复
直接奔VC9.0
P_ghost 2008-11-30
  • 打赏
  • 举报
回复
VC6对模板支持本来就弱得很,丢了丢了
lann64 2008-11-30
  • 打赏
  • 举报
回复
这还用问,当然是放弃vc6
hhyttppd 2008-11-30
  • 打赏
  • 举报
回复
double做为模板参数是不被标准支持的,所以不要这么种
vc6在这方面是比较废,你可以用dev c++或vc7.1以后的

64,682

社区成员

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

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