Dear cpp-ians,
I have two structures:
struct metaSegment
{
vector <long double> mean;
bool full;
};
struct segment
{
segmentIter it_meta_segm;
};
and both are linked via the it_meta_segm:
typedef vector <metaSegment>::iterator segmentIter;
In my program I have:
div_t divresult;
vector <metaSegment> X;
segmentIter itX;
segment *** Y;
for (int NbPixels = 0; NbPixels<10000; NbPixels++)
{
// create temporary segment
metaSegment tempMetaSegment; // Create temporary metaSegment
divresult = div(counter,100); // Retrieve ...
row = divresult.quot; // ... row number and ...
column = divresult.rem; // ... column number.
for (int layer=0; layer<5; layer++)
{
tempMetaSegment.mean.push_back(image[layer][row][column]);
// Assign image[layer][row][column] values...
// ...(long double type) to vector <long double>...
// ... mean of tempMetaSegment
}
tempMetaSegment.full = false; // Assign full value
X.push_back(tempMetaSegment); // Put tempMetaSegment in...
// ...the vector <metaSegment> X
itX = --X.end(); // Take the last element
Y[row][column]->it_meta_segm = itX; // of X and assign it to Y.
}
When I retrieve now the values of Y[row][column]->it_meta_segm->full,
then I see they do not fullfill my expection of being false (as I
assigned them).
I assume my values are overwritten somewhere in my memory, but I don't
see where I go wrong?
Any advice?
Kind regards and thank you very much in advance,
Stef