作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在尝试推回自定义类型的对象时遇到此错误。代码如下:
class Item_base
{
public:
Item_base(string isbn=" ", int num=0):book(isbn),number(num){}
Item_base(Item_base &I):book(I.book),number(I.number){cout<<"\nCopy Constructor"<<endl;}
Item_base &operator=(Item_base &d){if (this != &d){this->book=d.book;this->number=d.number;cout<<"\nAssignment Operator"<<endl;return *this;}else{cout<<"\nAssignment Operator"<<endl;return *this;}}
~Item_base(){cout<<"Item_base Destructor"<<endl;}
protected:
string book;
int number;
};
#include <iostream>
using namespace std;
#include <vector>
#include "Item_base.h"
int main (int argc, char * const argv[]) {
// insert code here...
vector<Item_base> vecbase;
Item_base derivo("Harry Potter",10);
cout<<"enter book name, qty, dqty"<<endl;
vecbase.push_back(derivo);
return 0;
}
我得到的错误信息是:
error: no matching function for call to 'Item_base::Item_base(const Item_base&)'
有人可以帮我解决这个问题吗?我是编程新手
最佳答案
Vector只有两个push_back函数的实现
push_back(const T&)
push_back(T&&)
(C++11 起)这解释了,为什么我们需要为我们的类提供带参数const T&
的复制构造函数
关于c++ - "no matching function"在自定义类型上使用 push_back 时调用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12880992/
我有一个经典的 ASP 页面 (VBscript),它在服务器端生成 XML,然后 Response.Writes。该页面根本没有客户端。 但是我需要将其转换为 JSON。由于我找不到有效的 ASP
我想从客户端应用程序的 HDFS 中读取特定的 SequenceFile。我可以使用 SequenceFile.Reader 来做到这一点,它工作正常。但是是否也可以通过分析抛出的 IOExcepti
我是一名优秀的程序员,十分优秀!