C++ 类指针 赋值 给 类对象 问题
代码如下:private:Students;Student*sp;.....voidProject::beSelect(Student*s0){if(sp==NULL){...
代码如下:
private:
Student s;
Student *sp;
.....
void Project::beSelect(Student* s0){
if (sp == NULL)
{
sp = s0;
sp->setProject(title);
// s = *sp;
}
}
这代码死活运行不了,还报错出C2249,把io流都搞出来。找了好半天才发现居然是注释的那句有问题,求解,这句到底哪里出问题了? 展开
private:
Student s;
Student *sp;
.....
void Project::beSelect(Student* s0){
if (sp == NULL)
{
sp = s0;
sp->setProject(title);
// s = *sp;
}
}
这代码死活运行不了,还报错出C2249,把io流都搞出来。找了好半天才发现居然是注释的那句有问题,求解,这句到底哪里出问题了? 展开
6个回答
展开全部
肯定是你的Student类中没有实现拷贝构造函数造成的了, 你在Student类中实现拷贝构造函数看看,最好把Student类给贴出来.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
初步觉得应该是没有重载拷贝赋值函数所引起的,但是不太确定..楼主能否把全部代码贴上,这样只是看一部分,无法准确找出问题的所在..
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个要看你Student定义成什么样的了,最主要是,Student里面是否有重载=,如果没有重载=,那么 s=*sp; 是错误的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
student类制有没有复构造函数或重载=号可作用于student类,没有的话就会出错,只能一个一个成员赋值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Studnet类定义贴出来。还有那个C2249完整错误页贴出来吧。赋值构造函数的问题?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询