ベクトルクラスに問題があります。何らかの理由で、まだ見つかりません:P、ベクトルにオブジェクトを挿入できません。vector、map、dequeなどを試しましたが、すべて同じ奇妙な結果になります。
保存したいオブジェクトは、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;
};