注册 登录
编程论坛 C++教室

[求助]求救高手帮助啊!

homexxhh 发布于 2007-03-06 09:02, 549 次点击
void in_score(project *pro)
{
project* temp;
temp=(project*)new(project);
temp->next=NULL;
cout<<"输入项目编号\t"<<"男?女(男1,女0)"<<endl;
cin>>temp->pro_num;
cin>>temp->sex;
cout<<"输入该项目取的名次!(前三名请输入:3,前五名请输入:5):"<<endl;
while(cin>>temp->getp)
{
if((temp->getp!=3)&&(temp->getp!=5))
{
cout<<"错误数据,请重新输入!"<<endl;
continue;
}
else
break;
}
while(pro!=NULL)
{
if((pro->pro_num!=temp->pro_num)&&(pro->sex!=temp->sex))
pro=pro->next;
if((pro->pro_num==temp->pro_num)&&(pro->sex==temp->sex))
{
//return pro;
break;
}
}
}

上面的是我的程序的一个函数的前面一部分,但是编译的时候跳出说后面的那个while循环里面有错,内存什么不能为read这是什么原因呢?在线等高手帮忙!
谢谢~~~~
5 回复
#2
heliujin2007-03-06 17:38
麻烦楼主 temp=(project*)new(project); 
这个语句是什么意思啊? 能解释一下吗?
#3
wfpb2007-03-07 00:27

我这里没有错误啊???


#include <iostream>
using namespace std;


struct project
{
    int getp;
    int pro_num;
    int sex;
    project* next;
    project(int p,int nu,int s,project* ne){getp=p;pro_num=nu;sex=s;next=ne;}
    project(){}
};


void in_score(project *pro)
{
    project* temp;
    temp=(project*)new(project);
    temp->next=NULL;
    cout<<\"输入项目编号\t\"<<\"男?女(男1,女0)\"<<endl;
    cin>>temp->pro_num;
    cin>>temp->sex;
    cout<<\"输入该项目取的名次!(前三名请输入:3,前五名请输入:5):\"<<endl;
    while(cin>>temp->getp)
    {
        if((temp->getp!=3)&&(temp->getp!=5))
        {
            cout<<\"错误数据,请重新输入!\"<<endl;
            continue;
        }
        else    break;
    }
    while(pro!=NULL)
    {
        if((pro->pro_num!=temp->pro_num)&&(pro->sex!=temp->sex))
        pro=pro->next;
        if((pro->pro_num==temp->pro_num)&&(pro->sex==temp->sex))
        {
            //return pro;
            break;
        }
    }
}


int main()
{
    project *pp=new project(3,1,1,NULL);
    in_score(pp);
   
    return 0;
}

#4
nuciewth2007-03-08 22:02
以下是引用heliujin在2007-3-6 17:38:27的发言:
麻烦楼主 temp=(project*)new(project); 
这个语句是什么意思啊? 能解释一下吗?

定义一个结点,project是个结构体或类.

#5
heliujin2007-03-12 22:58
(project*)的话 那temp不就是个指针了吗? project是初始化的值?
#6
csight2007-03-12 23:02
temp是指针,但是new(project)不是;
所以的转换;
1