The objects a, b, c and so on contain three ints that get set to the value of rv (this much has been verified).
To me, it all looks right, but when the display line executes above, it's clear that the rv assignment isn't in those objects. I KNOW they're in there at some point, because I've stepped through the constructor for a/b/c/etc. and seen the assignments work. So, somehow it must be how I'm performing the nested constructions, right?
Well, from the description I am assuming that impCompI and impCompQ are vectors of DemodIqImpCell ?
so when you push back the rv variable it has to be converted from int32_t to DemodIqImpCell ?
The constructor for DemodIqImpCell converts from int32_t to DemodIqImpCell without having to be called explicitly.
I've called that autoconversion.
I once had a bunch of math classes and wrote conversion operators like this wherever possible. After a lot of ambiguities arising and conversions I was not expecting, I don't do this any more.
Ohhhhhhhhhh, I think I get it now. So, the parameter to the push_back() is supposed to be an object of that vector. OK...duh. So, your technique will call the constructor for that object, and pass it the rv as an argument?