#include #include /* **************************************************************************** * Class: TestClass *****************************************************************************/ class TestClass { public: explicit TestClass (int val1 = 0xffffffff, short val2 = 0xffff) : mVal1 (val1), mVal2 (val2) { } std::ostream& print (std::ostream& oStream) const { return oStream << "val1=" << mVal1 << ", val2=" << mVal2 << std::endl; } private: int mVal1; short mVal2; }; // End of class TestClass std::vector fillVector (int val2) { std::vector result (2); short idx (0); while (idx < result.size()) { result[idx] = TestClass (val2, idx); ++idx; } // Uncomment the following line and the error will vanish // std::cout << "No error" << std::endl; return result; } /********************************************************** * main * ********************************************************/ int main (int argc, char *argv[]) { std::vector x = fillVector (1234); for (size_t ind = 0; ind < x.size(); ++ind) x[ind].print (std::cout); }