没有与这些操作数匹配的"[]"运算符
class String
{
public:
char *m_s;
char& operator[](int i);
friend bool operator==(const String& s1,const String &s2);//没有私有成员,friend多余?
};
char& String::operator[](int i)
{
return m_s[i];
}
bool operator==(const String& s1,const String &s2)
{
for(int i=0;s1[i];i++)//error:没有与这些操作数匹配的"[]"运算符
{
if(s1.m_s[i]!=s2.m_s[i])
return FALSE;
}
return TRUE;
}
有这两个小问题
相关推荐
SQL2005学习笔记 APPLY 运算符
使用APPLY运算符可以为实现查询操作的外部表表达式返回的每个行调用表值函数。 表值函数作为右输入,外部表表达式作为左输入。 通过对右输入求值来获得左输入每一行的计算结果,生成的行被组合起来作为最终输出。 APPLY运算符生成的列的列表是左输入中的列集,后跟右输入返回的列的列表。 APPLY 运算符的左操作数和右操作数都是表表达式。 这些操作数之间的主要区别是:右操作数可以使用表值函数,从左操作数获取一个列作为函数的参数之一。左操作数可以包括表值函数,但不能以来自右操作数的列作为参数。 演示一下APPLY 运算符的用法: 代码如下: –建一个表 CREATE TABLE MyData ( i
mssql对比学习mysql心得(五)运算符.doc
mssql对比学习mysql心得(五)运算符.doc
javascript中in运算符用法分析
本文实例讲述了javascript中in运算符用法。分享给大家供大家参考。具体分析如下: in运算符希望它的左操作数是一个字符串或可以转换为字符串,希望他的右操作数是一个对象;如果右侧对象拥有一个名为左操作数值的属性名,那么表达式返回true: var point = {x:1,y:1}; "x" in point //true "z" in point //false "toString" in point //true var ary = [1,2,3]; "0" in ary; //true,ary含有索引0("0"回转换为0); 1 in ary; //true,ary含有索引1
栈与四则混合运算的实现
对学习数据结构,特别是栈与四则混合运算有很大的帮助。本程序是采用VC6.0开发的。
jquery 与 非
&& || jquery常用的两个符号


新手乐园
