[在线等]error C2558: class 'book' : no copy constructor available
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[在线等]error C2558: class 'book' : no copy constructor available相关的知识,希望对你有一定的参考价值。
class student:public people
private:
int number; //编号
int borrowallow; //最大借书限制
double account;
static int counter;
int count; //计数器,统计所借书数目
list <book> borrowbooks;
public:
people.cpp
c:\program files\microsoft visual studio\vc98\include\xmemory(34) : error C2558: class 'book' : no copy constructor available
c:\program files\microsoft visual studio\vc98\include\xmemory(66) : see reference to function template instantiation 'void __cdecl std::_Construct(class book *,const class book &)' being compiled
执行 cl.exe 时出错.
构造函数都有了的。。。为什么不行啊~ 找了很多方法了。。都不行。。。为什么。。。谁知道吗
public:
book();
book(string name,string author,string number,double pirce,bool borrowed);
book(book &p); // 这里改为 book( const book& p ); // 传const引用
int setborrow(bool newborrow)borrowed=newborrow;return 0;
bool getborrow()return borrowed;
//int setborrow(int newborrow)borrow=newborrow;return 0
int operator=(book &newbook); // 不明白你为什么要声明这个函数。。。但这个函数会和拷贝赋值函数 book& operator=( const book& )或book& operator=( book& )产生冲突,造成岐义(二义性),应该编不过吧
virtual void show();
private:
bool borrowed;
;追问
有在线吗?Qq在线吗??这问题纠结我一下午了 。。能在线聊下吗
追答呵呵,QQ不在线。。百度HI聊吧
参考技术A c:\program files\microsoft visual studio\vc98\include\xmemory(34) : error C2558: class 'book' : no copy constructor available 该错误提示你book类没有拷贝构造函数,因为你定义了list <book> borrowbooks; 这个list中元素的类型是book,所以你需要为book类定义拷贝构造函数。你最好把book类的代码贴上来,有什么错误就很明显了。追问class book:public bookinfo
public:
book();
book(string name,string author,string number,double pirce,bool borrowed);
book(book &p);
int setborrow(bool newborrow)borrowed=newborrow;return 0;
bool getborrow()return borrowed;
//int setborrow(int newborrow)borrow=newborrow;return 0
int operator=(book &newbook);
virtual void show();
private:
bool borrowed;
;
class book:public bookinfo
public:
book();
book(string name,string author,string number,double pirce,bool borrowed);
book(book &p);
int setborrow(bool newborrow)borrowed=newborrow;return 0;
bool getborrow()return borrowed;
//int setborrow(int newborrow)borrow=newborrow;return 0
int operator=(book &newbook);
virtual void show();
private:
bool borrowed;
;
linux C语言编译报错:error: invalid storage class for function ‘xxx‘
我在main函数后定义函数ky_event_proc_thread(),然后在main函数里声明它,就报错了。。。
解决方法:把声明放到main函数前面就好了,不要放在main函数里面。。。
以上是关于[在线等]error C2558: class 'book' : no copy constructor available的主要内容,如果未能解决你的问题,请参考以下文章
小弟新学linux,HTTP request sent, awaiting response... 404 Not Found ERROR 404: Not Found.在线等
我卸载软件就出现run-time error '53' File not found 应该怎么办 在线等!
用python进行socket编程老是报错error: [Errno 10061] 怎么回事啊??好心人帮帮忙啊!!在线等!谢了