标题:这个能在VC里编译吗?还是BCB
只看楼主
想你的天空
Rank: 2
等 级:新手上路
威 望:5
帖 子:610
专家分:0
注 册:2004-12-30
 问题点数:0 回复次数:3 
这个能在VC里编译吗?还是BCB
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<string>
#include<conio.h>
#include<vector>
#include<except.h> //BCB异常
using namespace std;
int main()
{  
 double = 999999999999999;
 try{
 float *x = new float[size]; //分配一个size大小的数组
 }
 catch(xalloc)
 {
  cout<<"out of memory"<<endl;
  exit(1);
 }
 getch();
 return 0;
}
搜索更多相关主题的帖子: BCB include float 编译 vector 
2005-08-27 08:53
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
得分:0 
回答是不能编译, 因为这不符合C++ 标准. 请不要使用Borland C++ Builder,
VC 可以勉强使用一下.  GCC 是最规范的编译器.

代码修改如下:
#include <cstdlib>
#include <iostream>
#include <new>
using namespace std;

int main()
{  
    double size = 999999999999999;
    float * x;
  try{
        x = new float[size]; //·ÖÅäÒ»¸ösize´óСµÄÊý×é
    }
    catch(bad_alloc & ba)
    {
        cout<<"Caught the exception"<<endl;
        cout<<ba.what()<<endl;
        exit(EXIT_FAILURE);
    }
    cout<<"No exception"<<endl;
    if(x != NULL)
    {
        cout<<"succeeded in allocation"<<endl;
    }
    else
        cout<<"x is null pointer"<<endl;
    delete [] x;
    system("pause");   // 请 以后不要用 getch(), 我们并不需要输入什么东西, 我们只是需要停住屏幕
    return 0;
}

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-08-27 09:30
想你的天空
Rank: 2
等 级:新手上路
威 望:5
帖 子:610
专家分:0
注 册:2004-12-30
得分:0 
catch(bad_alloc & ba)

bad_alloc  是哪个头文件的?  它是个异常类?

2005-08-27 10:39
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
得分:0 
你如果打开VC6.0, 加亮bad_alloc 然后点击鼠标右键,然后在弹出菜单中点击Go To Definition Of bad_alloc, 你就可以看到他的定义了,你应该看到,bad_alloc class 公有地继承于 exception 类。
而在上面这个程序中,我加了头文件 new , 在 new 这个头文件中包括了 bad_alloc 这个类的申明,所以在程序中可以用到 bad_alloc

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-09-04 16:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-26128-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.187659 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved