Your vector::push_back()
requires that the type is copy-assignable
. Obviously, your pstsdk::folder
is not copy-assignable due to the assignment operator being private
.
What are the requirements for a type to be placed in a vector? It depends on whether you're using pre-C++11 or C++11, plus what operations you plan to do on these types. See here:
http://en.cppreference.com/w/cpp/container/vector
Pay attention to CopyAssignable
, CopyConstructible
, MoveAssignable
and MoveConstructible
So the case of it working with Windows as opposed to Linux:
Remember that "Windows" and "Linux" are not C++ compilers. You need to expand on this and tell us what version of the g++ compiler you're using on each OS.