C++ 如何向向量添加元素
我试图在我的程序中向向量添加元素。但我不确定我是否做对了。到目前为止,我下面的内容不起作用。我得到一个错误,上面写着:C++ 如何向向量添加元素,c++,C++,我试图在我的程序中向向量添加元素。但我不确定我是否做对了。到目前为止,我下面的内容不起作用。我得到一个错误,上面写着: 错误LNK2019:未解析的外部符号“public:u thiscall MySet::MySet(void)”(??0MySet@@QAE@XZ)在功能_main中引用 这是我的密码: #include <iostream> #include <map> #include <vector> using namespace std; cl
错误LNK2019:未解析的外部符号“public:u thiscall MySet::MySet(void)”(??0MySet@@QAE@XZ)在功能_main中引用
这是我的密码:
#include <iostream>
#include <map>
#include <vector>
using namespace std;
class MySet{
public:
vector<int> elements;
MySet();
void addElement(int value);
int removeElement(int index);
int sum();
int size();
};
void MySet::addElement(int value){
elements.push_back(value);
}
int main(int argc, char *argv[]){
int value;
MySet set;
cout << "Enter your numbers " << endl;
cin >> value;
while(value != -1){
set.addElement(value);
}
system("PAUSE");
}
#包括
#包括
#包括
使用名称空间std;
类MySet{
公众:
矢量元素;
MySet();
无效加法(int值);
int-removelement(int-index);
int sum();
int size();
};
void MySet::addElement(int值){
元素。推回(值);
}
int main(int argc,char*argv[]){
int值;
MySet集;
库特值;
while(值!=-1){
集合。加法(值);
}
系统(“暂停”);
}
首先:
您从未定义MySet-ctor。请定义它或删除MySet()的声明 秒:
cin>>值
退出循环,因此只需输入一次,您可能需要编写如下代码:
编辑:
while(cin >> value){
if(value==-1)
break;
set.addElement(value);
}
您从未定义MySet-ctor。请定义它或删除MySet()的声明。doh!!好的,明白了。知道为什么我的数字不能加到向量上吗?当我运行它时,我输入1个数字,然后它输入,然后它停止将cin>>值移动到循环中,您的代码只需输入一次就可以了,我让它工作了,但我不理解MySet的构造函数部分。我应该有一个无参数构造函数来创建一个空集。如何创建一个空集?我把向量();在MyStset()中,这是一个空集右?@ ZooCul18,如果你不声明任何构造函数,编译器为你提供默认构造函数,它会为你提供一个空向量。我理解,但是对于这个问题,我应该有一个没有ARGS的控件,返回一个空的集合。C++ i使用的是非常老的LOL,我最后做了这个,我把向量();在MySet()中,我不再得到错误。但是这是返回一个空集吗?while(cin){cin>>value;if(value==-1)break;
不处理无效的非数字输入/您应该在使用其值之前测试值的解析是否有效:while(cin>>value)if(value=-1)break;else set.addElement(value);
。