Cześć,
mam sobie wektor w klasie A:
std::vecor<int> vec;
i zwracam jego rozmiar metodą MetodaA za pomocą referencji:
const unsigned& Size() const { return vec.size(); }
Problem w tym, że jak wywołuję tą metodę w innej metodzie np. klasy B:
void MetodaB {
A a;
C c;
c.MetodaC(a.MetodaA());
}
gdzie MetodaC klasy C:
void MetodaC(unsigned value)
{
//...
}
value ma zapisaną błędną wartość. Dlaczego tak się dzieje? MetodaB widzi prawidłową wartość. Czy MetodaC nie powinna dostać kopię tej wartości?