| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6745 人关注过本帖
标题:求高手帮忙看看这个错误是怎么一回事“从类型‘const char*’到类型‘char* ...
只看楼主 加入收藏
fcwr_520
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-2-6
结帖率:0
收藏
已结贴  问题点数:10 回复次数:5 
求高手帮忙看看这个错误是怎么一回事“从类型‘const char*’到类型‘char*’的转换无效”??????????
  1 #include<iostream>
  2 #include<cstring>
  3 using namespace std;
  4 class String{
  5     char* p;
  6 public:
  7     String(){p=NULL;}
  8     String(char*m):p(m){}
  9     void display(){
 10         cout<<p<<endl;
 11     }
 12     bool operator==(String& str3){
 13         int i=0,j;
 14         while(p[i]!='\0'||str3.p[i]!='\0'){
 15             if(p[i]!=str3.p[i]) break;i++;}
 16         if(p[i]=='\0'&&str3.p[i]=='\0') return true;
 17         else return false;
 18     }
 19 };
 20 int main(){
 21     string x,y;
 22     cin>>x;cin>>y;
23     const char * m=x.c_str();
 24     const char * n=y.c_str();

 25     String string1(m),string2(n);     //删掉21~24行并把此行改为:String string1("dtygherth"),string2("ertgfertg");  这样就能编译通过并且运行成功
 26     if (string1==string2) cout<<"两个字符窜相等\n";
 27     else cout<<"两个字符窜不相等\n";
 28 }  
x.cpp: 在函数‘int main()’中:
x.cpp:25:18: 错误:从类型‘const char*’到类型‘char*’的转换无效 [-fpermissive]
x.cpp:8:2: 错误:  初始化‘String::String(char*)’的实参 1 [-fpermissive]
x.cpp:25:29: 错误:从类型‘const char*’到类型‘char*’的转换无效 [-fpermissive]
x.cpp:8:2: 错误:  初始化‘String::String(char*)’的实参 1 [-fpermissive]

我只是想输入两个字符窜,然后比较下是不是完全相等!!!
给类的对象string1和string2传构造函数参数时的类型我已经作了类型转换了呀,为什么还编译出错呢?非常郁闷!

但是当给构造函数传字符窜常量时就正常,这又是为什么呢???


[ 本帖最后由 fcwr_520 于 2013-3-1 18:24 编辑 ]
搜索更多相关主题的帖子: public include display namespace 
2013-03-01 18:22
allmy34
Rank: 2
等 级:论坛游民
帖 子:14
专家分:19
注 册:2012-12-29
收藏
得分:3 
String(char*m):p(m){}
你把构造函数的参数加个const呢
2013-03-01 18:32
Susake
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:女儿国的隔壁
等 级:贵宾
威 望:23
帖 子:2288
专家分:6481
注 册:2012-12-14
收藏
得分:3 
kk,

仰望星空...........不忘初心!
2013-03-01 18:34
fcwr_520
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-2-6
收藏
得分:0 
顶起来!!!!!!
2013-03-01 19:10
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:3 
以下是引用allmy34在2013-3-1 18:32:34的发言:

String(char*m):p(m){}
你把构造函数的参数加个const呢


我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-03-04 14:22
fengzhao33
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2012-11-26
收藏
得分:3 
23,24行你这样试试: char* m, strcpy(m,x.c_str());
2013-03-04 16:13
快速回复:求高手帮忙看看这个错误是怎么一回事“从类型‘const char*’到类型‘ ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017541 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved