菜鸟,请教一个小问题!

时间:2021-04-17 17:36:23
#include<iostream.h>
class location

   public:
      double x,y;
      location(); 
      location(double a,double b);
      ~location();
}
location::location()
{ x=0.0;
  y=0.0;
}
location::location(double a,double b)
{ x=a;
  y=b;
}
location::~location()

  cout<<"The location destrutor is called!"<<endl;
}
main()
{ location center(1.0,1.0),fuck;
  cout<<"center.x="<<center.x<<"   center.y="<<center.y<<endl;
  cout<<"fuck.x="<<fuck.x<<"   fuck.y="<<fuck.y<<endl;
}
编译:#include<iostream.h>
class location

   public:
      double x,y;
      location(); 
      location(double a,double b);
      ~location();
}
location::location()
{ x=0.0;
  y=0.0;
}
location::location(double a,double b)
{ x=a;
  y=b;
}
location::~location()

  cout<<"The location destrutor is called!"<<endl;
}
main()
{ location center(1.0,1.0),fuck;
  cout<<"center.x="<<center.x<<"   center.y="<<center.y<<endl;
  cout<<"fuck.x="<<fuck.x<<"   fuck.y="<<fuck.y<<endl;
}
编译时报错:Must use c++ for the type iostream      
怎么会这样?

8 个解决方案

#1


SORRY!有重复的代码!我打错了!
重复的部分不是!

#2


#include<iostream.h>
换成
#include<iostream>
using namespace std;
看看

#3


我用VC6.0编译虽然有错误,但是没有出现楼主所说的错误
#include<iostream.h>
class location

   public:
      double x,y;
      location(); 
      location(double a,double b);
      ~location();
}
只要在上面的最后一行加一个分号就正确了

#4


问楼主一句,你是不是把源文件存成.c了?
如果用到了C++里面的东东, 文件要存成.cpp才行.
楼上指出的错误也要改,

#5


因编译系统是以扩展名来区分的
.c用C的编译器.
.cpp用C++的编译器.
如果把用了C++里面的东西的源代码存成.c就会有问题, 因为C编译器是不支持类啊模板啊什么的.
反之, 把C的源码存成C++, 则在99.999%的情况下没问题, 只是在C/C++细节上的差异时才会出问题,而且一般是很隐晦的问题.这上等你对C++有一定的了解后,再去找本书专门去看看C和C++的细节差异吧.不建议在C++不熟的时候去刻意研究这些东东.
如果楼主初学C++, 在存文件的时候,一个项目里的源文件都存成.cpp, 不要一个.cpp一个.c,原因上面说了,会有很隐晦的问题,会让你头大.

#6


长时间不说话,表达能力有问题了.更正一下,请楼主允许我多占版面,
"反之, 把C的源码存成C++, 则在99.999%的情况下没问题, 只是在C/C++细节上的差异时才会出问题,而且一般是很隐晦的问题.这上等你对C++有一定的了解后,再去找本书专门去看看C和C++的细节差异吧.不建议在C++不熟的时候去刻意研究这些东东.
如果楼主初学C++, 在存文件的时候,一个项目里的源文件都存成.cpp, 不要一个.cpp一个.c,原因上面说了,会有很隐晦的问题,会让你头大."

应当为

"反之, 把C的源码存成C++, 则在99.999%的情况下没问题, 因为C++几乎全兼容C,
只是在C/C++细节上的差异时才会出问题,并且一旦出现都会是很隐晦的问题.
等你对C++有一定的了解后,再去找本书专门去看看C和C++的细节差异吧.
不建议在C++不熟的时候去刻意研究这些东东.要不就弄得更糊涂了.

如果楼主初学C++, 在存文件的时候,项目里你自己的源文件都存成.cpp(如果是别人给的就保持原样好了), 不要一个.cpp一个.c,原因为同一个项目中如果既有C++又有C源码文件有时会产生两者不兼容的很隐晦的问题,会让你头大.
"

#7


好象不是这些问题!
我试过你们的方法了!
可是没有用!

#8


谢谢大家.我找到原因了!

#1


SORRY!有重复的代码!我打错了!
重复的部分不是!

#2


#include<iostream.h>
换成
#include<iostream>
using namespace std;
看看

#3


我用VC6.0编译虽然有错误,但是没有出现楼主所说的错误
#include<iostream.h>
class location

   public:
      double x,y;
      location(); 
      location(double a,double b);
      ~location();
}
只要在上面的最后一行加一个分号就正确了

#4


问楼主一句,你是不是把源文件存成.c了?
如果用到了C++里面的东东, 文件要存成.cpp才行.
楼上指出的错误也要改,

#5


因编译系统是以扩展名来区分的
.c用C的编译器.
.cpp用C++的编译器.
如果把用了C++里面的东西的源代码存成.c就会有问题, 因为C编译器是不支持类啊模板啊什么的.
反之, 把C的源码存成C++, 则在99.999%的情况下没问题, 只是在C/C++细节上的差异时才会出问题,而且一般是很隐晦的问题.这上等你对C++有一定的了解后,再去找本书专门去看看C和C++的细节差异吧.不建议在C++不熟的时候去刻意研究这些东东.
如果楼主初学C++, 在存文件的时候,一个项目里的源文件都存成.cpp, 不要一个.cpp一个.c,原因上面说了,会有很隐晦的问题,会让你头大.

#6


长时间不说话,表达能力有问题了.更正一下,请楼主允许我多占版面,
"反之, 把C的源码存成C++, 则在99.999%的情况下没问题, 只是在C/C++细节上的差异时才会出问题,而且一般是很隐晦的问题.这上等你对C++有一定的了解后,再去找本书专门去看看C和C++的细节差异吧.不建议在C++不熟的时候去刻意研究这些东东.
如果楼主初学C++, 在存文件的时候,一个项目里的源文件都存成.cpp, 不要一个.cpp一个.c,原因上面说了,会有很隐晦的问题,会让你头大."

应当为

"反之, 把C的源码存成C++, 则在99.999%的情况下没问题, 因为C++几乎全兼容C,
只是在C/C++细节上的差异时才会出问题,并且一旦出现都会是很隐晦的问题.
等你对C++有一定的了解后,再去找本书专门去看看C和C++的细节差异吧.
不建议在C++不熟的时候去刻意研究这些东东.要不就弄得更糊涂了.

如果楼主初学C++, 在存文件的时候,项目里你自己的源文件都存成.cpp(如果是别人给的就保持原样好了), 不要一个.cpp一个.c,原因为同一个项目中如果既有C++又有C源码文件有时会产生两者不兼容的很隐晦的问题,会让你头大.
"

#7


好象不是这些问题!
我试过你们的方法了!
可是没有用!

#8


谢谢大家.我找到原因了!