You need to overload the stream extraction operator (<<) for user-defined types for things like std::ostream_iterator, e.g:
#include <ostream>template < typename CharT, typename Traits >inline std::basic_ostream<CharT, Traits>&operator<<(std::basic_ostream<CharT, Traits>& out, const SVariables& sv) { return out << "name: " << vs.strVariableName << ", line num: " << sv.ulLineNumber;}//.....vector<SVariables> someVec;std::copy(someVec.begin(), someVec.end(), std::ostream_iterator<SVariables>(std::cout, "\n"));