求助各位大神-编译出错:“choice”: 未声明的标识符 ;“delete”: 不能删除不是指针的对象 1>

问题描述

编译出错:“choice”: 未声明的标识符 ;“delete”: 不能删除不是指针的对象 1>

#include "stdafx.h"
#include
using namespace std;
double capital=0.0;/*将全额capital设置为全局变量,目的是在多次购买时,
下一次的全额不会覆盖上一次的全额值*/
double cal(int num,double quantity)
{
switch(num)
{
case 0 :
return quantity*1.50;//case中有return语句,所以不需要break语句
case 1 :
return quantity*1.70;
case 2 :
return quantity*4.60;
case 3 :
return quantity*0.90;
case 4 :
return quantity*2.50;
case 5 :
return quantity*3.70;
case 6 :
return quantity*7.60;
case 7 :
return quantity*3.90;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
cout<<"提示:"<
cout
cout
int num_choice;//买了几种水果
while(1)
{
int Y_N;
cout
cin>>num_choice;
if(num_choice==0)//不买东西
{
cout<<"您确定只是看看吗?要不买点吧?继续请按1,退出请按0"<
cin>>Y_N;
if(Y_N==0)
{
cout<<"退出成功!"<
break;
}
else if(Y_N==1)
{}
else
{
cout
}
}
else
{
cout
int *choice=new int[num_choice];//事先不知道购买多少种水果,所以有new的方式申请内存
double *quantity_choice=new double[num_choice];
for(int i=0;i
cin>>choice[i];//输入购买水果的各类编号
cout<<"请输入对应各种水果的重量:"<
for(int j=0;j
cin>>quantity_choice[j];//输入购买水果的重量
for(int i=0;i
capital+=cal(choice[i],quantity_choice[i]);//计算金额
cout
cin>>Y_N;

        if(Y_N==0)
        {
            cout<<"开始结算,请付"<<capital<<endl;
            break;
        }
        else if(Y_N==1)
        {}
        else
        {
            cout<<"亲!请不要随便按,要按规定输入哦!"<<endl;
        }
    }

}
delete[] choice;
choice=NULL;
delete[] quantity_choice;
quantity_choice=NULL;
system("pause");
return 0;

}

解决方案

在你main开始的的地方加上
int *choice;
double *quantity_choice;

对应的
choice=new int[num_choice];//事先不知道购买多少种水果,所以有new的方式申请内存
quantity_choice=new double[num_choice];
不要定义。

另外cal函数应该给switch加上default分支,否则可能出现无返回值的情况

解决方案二:

choice被定义成局部变量了
int *choice = null; //可以定义在设置
if(num_choice==0)//不买东西

时间: 2024-10-31 06:51:04

求助各位大神-编译出错:“choice”: 未声明的标识符 ;“delete”: 不能删除不是指针的对象 1&amp;gt;的相关文章

visual studio-vs2013加载opencv时总是出错,求大神给看看“CvSVM”: 未声明的标识符

问题描述 vs2013加载opencv时总是出错,求大神给看看"CvSVM": 未声明的标识符 "CvSVM": 未声明的标识符 解决方案 CvSVM的头文件是ml.h,你要确认你包含了这个文件,你也可以再OpenCV里找到这个文件 解决方案二: http://blog.csdn.net/fall221/article/details/7938812 解决方案三: 你的include目录配置正确了么?我估计是目录没有配置好,所以找不到 解决方案四: 那我看可能?那就

c语言-求助各位大神,是LINUX下关于tail实现的

问题描述 求助各位大神,是LINUX下关于tail实现的 #include #include #include #include #define MAXLINE 50 int cur_rec; int cur_nums; int file_fd = -1; char buf[MAXLINE ]; void file_open1(char *); char *file_next(void); void file_close1(int); void swift(char *); int main(i

c++-[zlib使用问题]如何解压zip文件!求助各位大神,救急!!!

问题描述 [zlib使用问题]如何解压zip文件!求助各位大神,救急!!! 有个项目,要实现Zip文件的解压和压缩,这几天一直在搞zlib,但是不管在Linux下还是Windows下都有问题. 1.linux下我用gcc编译,代码中就直接写了个#include "zlib.h",然后就可以用compress和uncompress函数了,可是我的问题是要用来解压Zip文件啊,并不是压缩字符串,然后就用miniZip文件夹中的zip.h和unzip.h,include到代码中,结果调用里面

不用控件显示数据-求助各位大神,如何不用控件来显示数据库的中的数据

问题描述 求助各位大神,如何不用控件来显示数据库的中的数据 在线等 急!!! 谢谢了 解决方案 你这里不要用++,缺少数据字符串没有实现++,所以报错采纳的话可以详细写给你.不过你要贴文本形式的代码,而不是图片. 解决方案二: sb.Append(""<table>""); sb.Append(""<th>""); for (int i = 0; i < ds.Tables[0].Columns.

c++-这是一个排序算法,但结果总是不争取,求大神指出错在哪?

问题描述 这是一个排序算法,但结果总是不争取,求大神指出错在哪? #include <stdio.h> #include <stdlib.h> #include <windows.h> #define MAX 100 int b; int arr[MAX],tearr[MAX]; void merge(int a[],int t[],int lhead, int rtail) { int lt, k, mid, rt; mid = (lhead+rtail)/2; lt

学术-入门网络小白求助热心大神

问题描述 入门网络小白求助热心大神 我是一名网络工程专业的学生,今年大二,喜欢网络安全开发方向的东西.希望各路大神提供一下好的建议,已经自学完计算机网络教材. 解决方案 网络安全需要你对网络体系结构.协议.密码学.操作系统.软件开发.逆向工程等等有非常透彻的理解和研究.网络安全算是计算机科学中国外差距比较大的领域,如果你立志从事这些研究,而且你才大二,有条件最好出国深造. 解决方案二: 网络方面可能会需要一些类似CCIE的证书神马的 解决方案三: APUE和Unix网络编程可有看?

代码-求助各位大神!HP500-310CN 台式机WIN7 64位安装不了佳能网络扫描仪驱动!

问题描述 求助各位大神!HP500-310CN 台式机WIN7 64位安装不了佳能网络扫描仪驱动! 关于安装软件出现代码2869 ,现在公司 有三台WIN7 64位操作系统,安装佳能复印一体机, 始终装不上扫描仪驱动,网络安装,老是提示,安装到了99%突然来了个,无法安装该程度!求助! 错误代码为2869 网上有说是BIOS系统时间的问题,检查了BIOS,时间正确,有说是WIN7的UAC问题,但我是用默认内置的管理员账户装的,也点安装属性,使用兼容,模式,一样,出现2869的错误代码 不知道怎么

求助新手大神勿喷,怎样实现缩略图点击后放大,只使用html+css技术!

问题描述 求助新手大神勿喷,怎样实现缩略图点击后放大,只使用html+css技术! 如标题1111111111111111111111111111111111111111 解决方案 只是用html+css实现不了的,需要用到点JavaScript的知识 解决方案二: 为什么不用封装好的呢.我自己用的是fancybox 解决方案三: 配合JS,或者使用CSS3. 使用CSS非常容易实现. 解决方案四: 配合JS,或者使用CSS3. 使用CSS3非常容易实现.

代码-求助各位大神LIstfragment中,分线程获取数据后刷新界面崩溃,用分线程加载数据后

问题描述 求助各位大神LIstfragment中,分线程获取数据后刷新界面崩溃,用分线程加载数据后 如题:代码如下,要在viewpager中的一个fragment中加载一个listview,用分线程加载数据后,handleMessage给成员变量的集合赋值后,notify,会直接崩溃 /** 报警图片 */ public class AlarmPhotoFragment extends ListFragment { private int mType = 0; private ListView