24小时热门版块排行榜    

查看: 1086  |  回复: 7
本帖产生 1 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

zyj8119

木虫 (著名写手)

[交流] 【求助】一个程序,不同编译器结果不同【已完结】已有2人参与

CODE:
#include
#include
struct STRU
{     char s1[5],s2[5];
      int a,b;
};

char *str_num(int n)
{    int k=0,m=n,i=0;
     while(m){k++;m/=10;}
         char *str=new char[k+1];
         while(n){
                 str[k-i-1]=n%10+'0';
                 n/=10;i++;
         }
         str[i]='\0';
         return str;
}

char *fun(STRU *p1,int n)
{   int k=0;
    for(int i=0;i                 k+=strlen(p1[i].s1)+strlen(p1[i].s2);
                int t1=p1[i].a,t2=p1[i].b;
                while(t1){k++;t1/=10;}
                while(t2){k++;t2/=10;}
        }
        char *p2=new char[k+1];
        strcpy(p2," ");
        for(i=0;i                 strcat(p2,p1[i].s1);
                strcat(p2,p1[i].s2);
                char *temp=str_num(p1[i].a);
                strcat(p2,temp);
                delete []temp;
                temp=str_num(p1[i].b);
                strcat(p2,temp);
                delete []temp;
                temp=0;
        }
        return p2;
}

void main()
{    STRU st[2]={"AAA","BBB",234,1535,"CCCC","DDDD",9559,453};
     char *p=fun(st,2);
         cout<          delete []p;
}

这个程序用VC编译没问题,但是用mingw develop studio编译出现以下错误:
In file included from C:\MinGWStudio\MinGW\include\c++\3.3.1\backward\iostream.h:31,
from ggg.cpp:1:
C:\MinGWStudio\MinGW\include\c++\3.3.1\backward\backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the header for the header for C++ includes, or instead of the deprecated header . To disable this warning use -Wno-deprecated.
ggg.cpp: In function `char* fun(STRU*, int)':
ggg.cpp:30: error: name lookup of `i' changed for new ISO `for' scoping
ggg.cpp:22: error:   using obsolete binding at `i'
ggg.cpp: At global scope:
ggg.cpp:45: error: `main' must return `int'
ggg.cpp:45: error: return type for `main' changed to `int'

ggg.o - 4 error(s), 1 warning(s)

[ Last edited by nono2009 on 2010-11-11 at 07:31 ]
回复此楼
好好学习,天天向上。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magic7004

金虫 (职业作家)


小木虫(金币+0.5):给个红包,谢谢回帖交流
引用回帖:
Originally posted by zyj8119 at 2010-11-09 20:13:11:

是的。。。

VC6不支持C++标准的,玩纯C++的话一定要远离VC6,真爱生命。
流氓不可怕,可怕的是流氓有文化,有文化又BH的流氓无敌~~!
7楼2010-11-09 20:35:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

gd88

金虫 (小有名气)


zyj8119(金币+10):谢谢您精彩的回复!!!! 2010-11-03 07:21:37
nono2009(金币+1, 程序强帖+1):鼓励应助 2010-11-11 07:31:20
从目前的编译信息来看:
warning: #warning This file includes at least one deprecated or antiquated header.
你这段代码包含了不赞成的或者是老标准的文件头,

Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard.
参看 C++ Standard 的 17.4.1.2 (我看了,里面没有 .h )

Examples include substituting the header for the header for C++ includes, or instead of the deprecated header .
用<******>代替<******.h>(把.h去掉),
或者用代替

To disable this warning use -Wno-deprecated.

编译器版本的问题,目前的信息看来。
根据编译的信息作修改先,不行的话去看 C++ standard 的 17.4.1.2 部分的内容。
再不行的话,帖出编译信息。

---------------------------另:
刚才我在虚拟机里装了个WinGW 2.05,
重现了你的代码错误,
C:\MinGWStudio\MinGW\include\c++\3.3.1\backward\backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the header for the header for C++ includes, or instead of the deprecated header . To disable this warning use -Wno-deprecated.

去掉     .h     后,
反正上面重现的这段编译错误没有了。

-----------------------------
哎,查了查,试了试,
编译器的问题,或者说标准的问题。
你试下这段代码把,我这里仅仅是编译通过了。  revised    是修改的地方。
为什么这么修改,我也是根据你的编译信息,google了一下而已。
要符合你的程序需求,可能还要调一下。

编译器之间的问题还是要重视的。
CODE:
#include /*revised*/
#include /*revised*/
struct STRU
{     char s1[5],s2[5];
      int a,b;
};

char *str_num(int n)
{    int k=0,m=n,i=0;
     while(m){k++;m/=10;}
         char *str=new char[k+1];
         while(n){
                 str[k-i-1]=n%10+'0';
                 n/=10;i++;
         }
         str[i]='\0';
         return str;
}

char *fun(STRU *p1,int n)
{   int k=0;
    for(int i=0;i                 k+=strlen(p1[i].s1)+strlen(p1[i].s2);
                int t1=p1[i].a,t2=p1[i].b;
                while(t1){k++;t1/=10;}
                while(t2){k++;t2/=10;}
        }
        char *p2=new char[k+1];
        strcpy(p2," ");
        for(int i=0;i                 strcat(p2,p1[i].s1);
                strcat(p2,p1[i].s2);
                char *temp=str_num(p1[i].a);
                strcat(p2,temp);
                delete []temp;
                temp=str_num(p1[i].b);
                strcat(p2,temp);
                delete []temp;
                temp=0;
        }
        return p2;
}

int main() /*revised*/
{    STRU st[2]={"AAA","BBB",234,1535,"CCCC","DDDD",9559,453};
     char *p=fun(st,2);
         std::cout<          delete []p;
         return 0; /*revised*/
}

[ Last edited by gd88 on 2010-11-3 at 04:47 ]
2楼2010-11-03 03:05:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)

引用回帖:
Originally posted by gd88 at 2010-11-03 03:05:06:
从目前的编译信息来看:
warning: #warning This file includes at least one deprecated or antiquated header.
你这段代码包含了不赞成的或者是老标准的文件头,

Please consider using one of the 32 he ...

非常感谢!!!!
好好学习,天天向上。
3楼2010-11-03 07:21:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)

引用回帖:
Originally posted by zyj8119 at 2010-11-03 07:21:19:

非常感谢!!!!

此贴结贴。
好好学习,天天向上。
4楼2010-11-03 07:25:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 今年什么时候会评啊 +8 lancet0903 2024-06-24 8/400 2024-06-26 19:11 by binfriedman
[硕博家园] 联培博士文章第一单位署名问题交流~ +9 橙成成c 2024-06-23 21/1050 2024-06-26 16:45 by 橙成成c
[基金申请] 博后面上今天下午会公布吗?大家有无消息? +9 地理学1995 2024-06-24 13/650 2024-06-26 16:02 by kyukitu
[教师之家] 神奇的中医 +8 水冰月月野兔 2024-06-24 10/500 2024-06-26 12:10 by lyfbangong
[有机交流] 酚羟基甲基化 10+4 A好运来啦啦啦 2024-06-25 6/300 2024-06-26 10:08 by 88817753
[基金申请] 今天能不能出来名单 +8 地理学1995 2024-06-25 10/500 2024-06-26 09:46 by msjy
[基金申请] 基金申请书名称有变化 +5 xuel2011 2024-06-25 7/350 2024-06-26 00:07 by 老虎当猫养
[基金申请] 这样的说辞是上会了吗 +12 学员d3zYCz 2024-06-24 15/750 2024-06-25 22:05 by 3115321
[考博] 没读上博,好焦虑! +6 wangzhe_bs 2024-06-24 8/400 2024-06-25 21:15 by wangzhe_bs
[第一性原理] Vasp 版权问题 10+4 竹叶青9 2024-06-22 5/250 2024-06-25 14:58 by 无所谓109
[教师之家] 复旦夏同学退学理由说明,哪儿可以下载? +7 苏东坡二世 2024-06-21 8/400 2024-06-25 12:42 by 药嘿1233
[硕博家园] 数据不好 +5 Hetai 2024-06-23 7/350 2024-06-25 12:37 by 1591099
[有机交流] 求助析晶问题 20+4 dengdawang 2024-06-24 5/250 2024-06-24 21:22 by cc116
[基金申请] 说博后基金7月出的真打电话了吗? +12 antonysole 2024-06-24 14/700 2024-06-24 13:39 by sizhouyi
[基金申请] 青年和面上,哪个上会难度更大 +12 今晚推荐22 2024-06-21 18/900 2024-06-24 11:08 by 半简体
[催化] 求助原位红外 +3 jfdhj 2024-06-21 7/350 2024-06-24 10:52 by qvhm2609
[论文投稿] OSA期刊审稿逾期 +3 Thomas_Squid 2024-06-22 3/150 2024-06-23 15:20 by wspglt
[有机交流] 求助 45+7 脂质纳米粒 2024-06-20 9/450 2024-06-23 07:52 by buhui7829
[基金申请] 工材口青年基金大概什么样能上会? +15 今晚推荐22 2024-06-20 21/1050 2024-06-22 23:04 by qbn0326
[基金申请] 教育部基金 +5 m1393 2024-06-21 5/250 2024-06-21 21:13 by odes
信息提示
请填处理意见