binary 'operator' : 'type' does not define this operator or a conversion to a type acceptable to the predefined operator
To use the operator, you must overload it for the specified type or define a conversion to a type for which the operator is defined. If you encounter this error while porting code from Visual C++ 2.0 or earlier, see Technote: Improved Conformance to ANSI C++.
Example
class C { public: C(); } c; class D { public: D(); D operator <<( C& ); } d; void main() { d >> c; // error d << c; // OK, operator << defined }