关于运算符重载作为友元函数在VC++6.0中编译出错的两种解决方案

有点C++编译系统(例如Visual C++ 6.0)没有完全实现C++标准,它所提供的不带后缀.h的头文件不支持把运算符重载作为友元函数,所以编写运算符重载作为友元函数时,在Visual C++系统中编译时会出错,这里提供两种解决方案:

  1. 由于Visual C++所提供的老版本的带后缀.h的头文件可以支持此项功能,因此可以将程序头两行改一下。原来的程序为:

#include <iostream>

using namespace std;

现在改为:

#include <iostream.h>
2.将类和友元函数提前声明:

class Complex;

Complex operator + (Complex &c1,Complex & c2);


你可能感兴趣的:(error,error,File,compiler,line,internal,fatal, , , ,'msc1.cpp',1786),C1001:,(compiler)