输出运算符重载有关问题

输出运算符重载问题#includeiostreamusing std::ostreamusing std::coutclass A{friend void operator

输出运算符重载问题
#include<iostream>
using std::ostream;
using std::cout;

class A
{
friend void operator<<(ostream&,A);
public:
A();
double x;
};

void operator<<(ostream &os,A a)
{
cout<<a.x;
}

A::A()
{
x=1;
}

int main()
{
A a;
cout<<a;
return 0;
}




此愚蠢代码纯属学习测试之用。为何在vc6.0下可以编译执行,而vs2010可编译,不可执行?

[解决办法]
在vs2008下跑了下,没发现问题.
vs2010没试过,大概是新的环境又些什么新限制,新规定吧.
[解决办法]
看不出错误,楼主说一说,报什么错?
[解决办法]
工程类型?