error C2593: 'operator =' is ambiguous 跪求高手指点,十分感激,!!

#include<iostream>#include<string>#include<vector>#defineNUM100usingnamespacestd;stat... #include <iostream>
#include <string>
#include <vector>
#define NUM 100
using namespace std;
static int count=0;
typedef struct
{
string _name; //书名
string _type; //类型
string _publisher; //出版社
}Book;

class BookMgr
{
public:
BookMgr();
BookMgr(string name,string type,string publisher);
~BookMgr();
bool insertBooks(Book book); //录入书
bool deleteBooks(string name);//删除书
void show();//显示信息
// vector<Book> getInfoOfPublisherAndType(string& name,string type);
private:
Book *books[NUM];
};
BookMgr::BookMgr()
{
int i;
for (i=0;i<NUM;i++)
{
books[i]->_name=0;
books[i]->_type=0;
books[i]->_publisher=0;
}
}
BookMgr::BookMgr(string name,string type,string publisher)
{
int i=++count;
if(i<NUM)
{
books[i]->_name=name;
books[i]->_type=type;
books[i]->_publisher=publisher;
}

}

BookMgr::~BookMgr()
{
int i;
for (i=0;i<NUM;i++)
{
delete[] books[i];
}
}
bool BookMgr::insertBooks(Book book)
{
int i=++count;
if(i<NUM)
{
books[i]->_name=book._name;
books[i]->_type=book._type;
books[i]->_publisher=book._publisher;
return true;
}
return false;
}
bool BookMgr::deleteBooks(string name)
{
int i;
for (i=0;i<count;i++)
{
if(books[i]->_name==name)
{
delete[] books[i];
count--;
return true;
}
}
return false;
}
void BookMgr::show()
{
int i;
for (i=0;i<count;i++)
{
cout<<"书名:"<<books[i]->_name<<"类型:"<<books[i]->_type<<"出版社:"<<books[i]->_publisher<<endl;
}

}
int main()
{
BookMgr b1,b2("程序设计","理科","清华大学");
b1=b2;
b1.show();
b2.show();
return 0;
}
展开
 我来答
wenqing8585
2012-09-25 · TA获得超过8252个赞
知道大有可为答主
回答量:8078
采纳率:70%
帮助的人:3859万
展开全部
原因:
Book *books[NUM];

BookMgr::BookMgr()
{
int i;
for (i=0;i<NUM;i++)
{
books[i]->_name=0; //这里books[i]未初始化,没有指向任何实实在在的结构体对象
books[i]->_type=0;
books[i]->_publisher=0;
}
}

请先用new申请到NUM个Book类型的空间,再让books指向它,然后再做清0处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式