C++运算符重载,,error C2593: 'operator >' is ambiguous,,错哪了??

#include<iostream>#include<string>usingnamespacestd;classString{public:String(){p=NUL... #include <iostream>
#include <string>
using namespace std;
class String
{
public:
String(){p=NULL;};
String(char *str);
friend bool operator>(String &strt1,String &str2);
void display();
//private:
public:
char *p; ///字符型指针 用于指向字符串

};
String::String( char *str )
{
p=str;
}
void String::display()
{
//cout<<*p<<endl;
cout<<p<<endl;
}
//bool String::operator>(String &strt1,String &str2) /////友元函数 与 普通成员函数 不同;;;;定义时不需写出类的类名
bool operator>(String &str1,String &str2)
{
//if(strcmp(str1,str2)>0)
if(strcmp(str1.p,str2.p)>0)
// return 1;
return true;
else
// return 0;
return false;
}
int main()
{
String str1("hello"),str2("tom");
//str1.display();
//
//str2.display();
cout<<(str1>str2)<<endl;
return 0;
}
--------------

D:\CC++工作区\CC++语句20140922\运算符重载1.cpp(205) : error C2593: 'operator >' is ambiguous
展开
 我来答
Cpp_prokb
2015-01-06 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:101
采纳率:0%
帮助的人:73.1万
展开全部
看写的程序没有什么错误,而且vs2008可以正常运行输出,没有什么报错~
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式