複数のクラスへのポインタを含むベクトルがあります。クラスは次のように定義されています。
class trackerSocket{
public:
~trackerSocket();
int trackerInitialize(string address);
int trackerSend(string getParams);
int trackerRecv();
be_node *responseDict;
bool working;
unsigned int interval;
string trackerid;
unsigned int complete;
unsigned int incomplete;
be_dict *peersDict;
string peersBinary;
bool dictionary;
private:
string address;
string port;
string protocol;
string page;
SOCKET ConnectSocket;
int parseAnnounce(string announce);
int parseTrackerResponse(string response);
};
ベクトルは次の行で宣言されます。
vector<trackerSocket*> trackers;
クラスは、次の行を使用してベクターに追加されます。
trackerSocket *temptracker = new trackerSocket();
//Initialize values in temptracker structure here (omitted)
trackers.push_back(temptracker);
//Reset temptracker
temptracker = new trackerSocket();
//Initialize values in temptracker structure here (omitted)
trackers.push_back(temptracker);
//Repeat
ベクター内の各クラスの作業変数にアクセスするにはどうすればよいですか? 次のコードは、一部のクラスが true に設定されていることを知っていても、まったく機能しません。
for(i = 0; i < trackers.size(); i++){
if(trackers[i]->working){
printf("Working.\n");
}
}
ご協力いただきありがとうございます :)