为什么这段断码会出错呢

C++语言 码拜 8年前 (2016-04-17) 873次浏览
#include <iostream>
using namespace std;
class fulei
{
public:
	void fun1();
	void fun2();
protected:
private:
};
class zilei:public fulei
{
public:
	void fun3();
	void fun4();
protected:
private:
};
void fulei::fun1()
{
	cout << "调用基类的fun1()" << endl;
}
void fulei::fun2()
{
	cout << "调用基类的fun2()" << endl;
}
void zilei::fun3()
{
	cout << "调用派生类的fun1()" << endl;
}
void zilei::fun4()
{
	cout << "调用派生类的fun2()" << end;
}
int main()
{

	cout << "主函数执行" << endl;
	cin.get();
	return 0;
}

为什么这段断码会报错?而把

void zilei::fun3()
//{
//	cout << "调用派生类的fun1()" << endl;
//}
//
//void zilei::fun4()
//{
//	cout << "调用派生类的fun2()" << end;
//}

这段代码注释掉就不会报错?是什么原因?麻烦大家指点一下?实在找不出什么原因?
g:\computer\cpp\studio\virtualclass2\virtualclass2\virtualclass2.cpp(39): error C2679: 二进制“<<”: 没有找到接受“overloaded-function”类型的右操作数的运算符(或没有可接受的转换)
1>          e:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(695): 可能是“std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const char *)”
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          e:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(742): 或       “std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,char)”
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]

解决方案

40

cout << "调用派生类的fun2()" << endl;

第39行,最后endl而不是end


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明为什么这段断码会出错呢
喜欢 (0)
[1034331897@qq.com]
分享 (0)