我在使用矢量类时遇到了一些问题。出于某种原因,尚未找到:P,我无法将任何对象插入到我的向量中。我尝试过矢量、地图、双端队列等,但它们都有相同的奇怪结果。
我要存储的对象是一个包含 2 个 std::string 的类。这里有一些代码来解释我的观点:
vector<DnsAddress> * dnss = new vector<DnsAddress>;
for(int i = 0; i < ns.size(); i++){
DnsAddress dn;
dn.SetRecord1(record1);
dn.SetRecord2(record2);
cout<<dn.GetRecord1()<<" : "<<dn.GetRecord2()<<endl; //this works, so it is inserting info to the object
dnss->push_back(dn);//this is where it begins to fail...
cout<<dnss->at(i).GetRecord1()<<" : "<<dnss->at(i).GetRecord2()<<endl;//doesn't work
DnsAddress a = dnss->at(0);//this way doesn't work either...
cout<<"dns: "<<a.GetRecord1()<<endl;
}
我敢肯定一定有一个菜鸟的错误。我讨厌那些发生的时候。他们花了我一些时间来找出答案。
有人可以帮忙吗?
我很感激 :)
澄清:没有错误......它没有问题......但是向量中的信息被计算(.size()函数告诉我插入对象的数量)但是当你尝试访问它时,什么都没有显示...但没有引发错误
这是 DnsAdress 类:
class DnsAddress {
public:
DnsAddress();
DnsAddress(const DnsAddress& orig);
virtual ~DnsAddress();
void SetRecord2(string record2);
string GetRecord2() const;
void SetRecord1(string record1);
string GetRecord1() const;
private:
string record1;
string record2;
};