मेरे पास यह कोड है:
std::set<unsigned long>::iterator it;
for (it = SERVER_IPS.begin(); it != SERVER_IPS.end(); ++it) {
u_long f = it; // error here
}
कोई ->first
मूल्य नहीं है । मैं मूल्य कैसे प्राप्त कर सकता हूं?
जवाबों:
अपने सेट के सदस्य को पुनः प्राप्त करने के लिए आपको पुनरावृत्ति को रोकना होगा।
std::set<unsigned long>::iterator it;
for (it = SERVER_IPS.begin(); it != SERVER_IPS.end(); ++it) {
u_long f = *it; // Note the "*" here
}
यदि आपके पास C ++ 11 विशेषताएँ हैं, तो आप लूप के लिए श्रेणी-आधारित का उपयोग कर सकते हैं :
for(auto f : SERVER_IPS) {
// use f here
}
const u_long& f = *it;
।
बस *
पहले का उपयोग करें it
:
set<unsigned long>::iterator it;
for (it = myset.begin(); it != myset.end(); ++it) {
cout << *it;
}
यह इसे dereferences करता है और आपको उस तत्व को एक्सेस करने की अनुमति देता है जो वर्तमान में चालू है।