编译器版本过低造成的问题。
尝试在A类定以前加上以下声明
class A;extern ostream& operator<<(ostream& os,A& a);extern A operator<<(int x,A& a);
参考资料
http://blog.csdn.net/xiaoniba10631/article/details/6713164