Re: extracting data from std::set<string>
Rene Ivon Shamberger wrote:
I am trying to extract data from a set container, but to no avail. This is
what I have done. int main(){
std::set<const std::string> data;
data.insert("one");
data.insert("two");
data.insert("three");
int counter = 0;
std::set<std::string>::iterator it;
for (it = data.begin(); it != data.end(); it++) {
counter++;
std::cout << *it;
}
return 0;
}
here's your problem:
std::set<const std::string> data;
The STL allocates objects using C++'s allocators, which only store non-
const, non-reference object types. You are trying to allocate a const-
object type. Hence, the flood of compiler errors you should be getting from
this.
Replace the above with:
std::set<std::string> data;
and everything will work fine.
While you are at it, use const iterators to enforce the object's const-ness.
So, replace:
std::set<std::string>::iterator it;
with
std::set<std::string>::const_iterator it;
Hope this helps,
Rui Maciel