提问帖 :类内对字符串求长度编译不通过 急!!!

#include
#include
#include
using namespace std;
class String
{ public:
void assign_str(int start1,int len1,char p)
{ p=p+start1;
while(len1>0)
{*str=*p;
p++;
str++;
len1--;
}
}
bool is_substring(const char *sub_str)
{ if(strstr(str,sub_str)) return true;
else return false;
}
bool is_substring(const String& sub_str)
{ if(this->is_substring(sub_str.str)) return true;
else return false;
}
String substring(int start,int len)
{ String temp;
temp.assign_str(start,len,str);
return temp;
}
int find_replace_str(const char *find_str, const char *replace_str)
{ int count=0;
string s=str,find=find_str,replace=replace_str;
int pos,len=str.length(find);
while((pos=s.find(s))!=-1)
{ s=s.replace(pos,len,replace);
count++;
}
return count;

}
void remove_spaces()
{ char *p=(char
)malloc(1000*sizeof(int));
char* temp=p;
while(*str!=0)
{ if(*str==' ')
{ str++;
continue;
}
else
{ *p=*str;
str++;
p++;
}
}
str=temp;
}
int to_int()
{ int i=0;
while(*str!=0)
i=10*i+*str-48;
return i;
}
void to_lower_case() { strlwr(str);}
private:
char *str;

} ;

图片说明

string::length()不能加参数
如果你要求字符串find的长度,请使用find.length();
如果length是你自定义的函数,请更名,如_length();