C++ 错误报告
我用的是c-free 4.0
#include <iostream>
using namespace std;
#include <string>
class Person{
string name;
bool gender;
public:
Person(const string& n,bool g):name(n),gender(g){}
friend osteram& operator<<(const ostream& os,Person& m){
os << "我是" << m.gender?"男生":"女生" << m.name << endl;
return os;
}
};
int main()
{
Person p("小红",false),q("张三",true);
cout << p << endl;
cout << q << endl;
}
--------------------配置: mingw2.95 - CUI Debug, 编译器类型: MinGW (Old)--------------------
检查文件依赖性...
正在编译 E:\C++代码演练\operatir01.cpp...
[Error] E:\C++代码演练\operatir01.cpp:10: ANSI C++ forbids declaration `osteram' with no type
[Error] E:\C++代码演练\operatir01.cpp:10: `osteram' is neither function nor method; cannot be declared friend
[Error] E:\C++代码演练\operatir01.cpp:10: parse error before `&'
[Error] E:\C++代码演练\operatir01.cpp:14: syntax error before `&'
[Error] E:\C++代码演练\operatir01.cpp:16: parse error before `&'
[Error] E:\C++代码演练\operatir01.cpp:16: `operator &(...)' must have an argument of class or enumerated type
[Error] E:\C++代码演练\operatir01.cpp:16: `operator &(...)' must take either one or two arguments
[Error] E:\C++代码演练\operatir01.cpp:16: `s' undeclared (first use this function)
[Error] E:\C++代码演练\operatir01.cpp:16: (Each undeclared identifier is reported only once
[Error] E:\C++代码演练\operatir01.cpp:16: for each function it appears in.)
[Error] E:\C++代码演练\operatir01.cpp:20: no match for `_IO_ostream_withassign & << Person &'
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:77: candidates are: class ostream & ostream::operator <<(char)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:78: class ostream & ostream::operator <<(unsigned char)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:79: class ostream & ostream::operator <<(signed char)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:80: class ostream & ostream::operator <<(const char *)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:82: class ostream & ostream::operator <<(const unsigned char *)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:84: class ostream & ostream::operator <<(const signed char *)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:85: class ostream & ostream::operator <<(const void *)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:86: class ostream & ostream::operator <<(int)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:87: class ostream & ostream::operator <<(unsigned int)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:88: class ostream & ostream::operator <<(long int)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:89: class ostream & ostream::operator <<(long unsigned int)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:91: class ostream & ostream::operator <<(long long int)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:92: class ostream & ostream::operator <<(long long unsigned int)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:94: class ostream & ostream::operator <<(short int)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:95: class ostream & ostream::operator <<(short unsigned int)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:97: class ostream & ostream::operator <<(bool)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:99: class ostream & ostream::operator <<(double)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:100: class ostream & ostream::operator <<(float)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:104: class ostream & ostream::operator <<(long double)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:106: class ostream & ostream::operator <<(ostream & (*)(ostream &))
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:107: class ostream & ostream::operator <<(ios & (*)(ios &))
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:108: class ostream & ostream::operator <<(streambuf *)
[Error] E:\C++代码演练\operatir01.cpp:21: no match for `_IO_ostream_withassign & << Person &'
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:77: candidates are: class ostream & ostream::operator <<(char)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:78: class ostream & ostream::operator <<(unsigned char)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:79: class ostream & ostream::operator <<(signed char)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:80: class ostream & ostream::operator <<(const char *)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:82: class ostream & ostream::operator <<(const unsigned char *)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:84: class ostream & ostream::operator <<(const signed char *)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:85: class ostream & ostream::operator <<(const void *)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:86: class ostream & ostream::operator <<(int)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:87: class ostream & ostream::operator <<(unsigned int)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:88: class ostream & ostream::operator <<(long int)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:89: class ostream & ostream::operator <<(long unsigned int)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:91: class ostream & ostream::operator <<(long long int)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:92: class ostream & ostream::operator <<(long long unsigned int)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:94: class ostream & ostream::operator <<(short int)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:95: class ostream & ostream::operator <<(short unsigned int)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:97: class ostream & ostream::operator <<(bool)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:99: class ostream & ostream::operator <<(double)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:100: class ostream & ostream::operator <<(float)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:104: class ostream & ostream::operator <<(long double)
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:106: class ostream & ostream::operator <<(ostream & (*)(ostream &))
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:107: class ostream & ostream::operator <<(ios & (*)(ios &))
[Error] D:\c_free\C-FREE~1\mingw32\Include\G__~1\iostream.h:108: class ostream & ostream::operator <<(streambuf *)
构建中止 operatir01: 56 个错误, 0 个警告
什么意思???麻烦各位大虾看看!
是不是我没有这个ostream的类型啊??我加载了也没有 #include <ostream>