Re: STL simple problem
"wizard" <gggg@wp.pl> wrote:
Why it doesn't work
class Tnames
{
public:
wxString text;
wxString table;
};
std::vector<Tnames> wektor;
for (size_t i = 0; i < count; ++i)
{
Tnames temp;
temp.text="text";
wektor.push_back(temp);
}
for (int i=0; i<p_wek_t.size(); i++)
{
Tnames g = p_wek_t.at(i);
g.table = "table";
}
for (i=0; i<p_wek_t.size(); i++)
{
Tnames g = p_wek_t.at(i);
wxPrintf(_T("%s\n"), g.table); // here doesn't work - i've got empty
string here
}
I'm beginner on STL ;so Could somebody help me
I try not to be too pedantic about posting compilable code examples and
all that, however there are numerous errors and style issues in the code
you posted that made it very difficult to find the problem you were
specifically asking about.
1) Unnecessary use of non standard constructs: This group deals with the
language itself and not in particular libraries. Using standard language
in your examples here and at least explaining how non-standard classes
work helps tremendously.
2) Gratuitous use of undefined variables: Several of the variables in
your example are undefined, including the single most important one,
'p_wek_t'.
3) Gratuitous inclusion of code that doesn't affect the problem: The
first loop in your example has absolutely nothing to do with the problem
you needed help on.
4) Poor formatting: Your indents are inconsistent.
Alf has an excellent understanding of C++, yet he didn't spot your
problem. I suspect that the reason is due to one or more of the issues I
outline above.
The only reason I spotted your problem is because I took the time to put
your code in my compiler and fix all the errors and get it to compile.
Do as much of the work as you can yourself, and you are more likely to
get quick and useful help from this group.