打印
[匠人手记]

再请教 程序匠人一个C语言的问题

[复制链接]
5326|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
myworkmail|  楼主 | 2009-12-23 23:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
再请教 程序匠人一个C语言的问题:
我在您的<C语言高效编程的的四招技巧>一文中看到这样的用法
const char string2[len] ="this is a example!";
char * cp;
cp = string2 ;
可编译器报错:
Error[Pe513]: a value of type "unsigned char const *" cannot be assigned to an entity of type "unsigned char *" D:\work\vfddiplay20091023(v2.0)\program\display2.01\Project\Template\User\Main\main.c 118

怎么处理

相关帖子

沙发
myworkmail|  楼主 | 2009-12-23 23:46 | 只看该作者
在IAR FOR ARM 4.42下

使用特权

评论回复
板凳
myworkmail|  楼主 | 2009-12-23 23:53 | 只看该作者
应该是类型不匹配

使用特权

评论回复
地板
程序匠人| | 2009-12-24 00:01 | 只看该作者
拜托在提问前,先确定作者。

使用特权

评论回复
5
myworkmail|  楼主 | 2009-12-24 18:14 | 只看该作者
不好意思,那就是我搞错,那能指点一下吗?

使用特权

评论回复
6
lxyppc| | 2009-12-24 20:08 | 只看该作者
晕,不是吧
这样写如果编译通过了,怎么死的都不知道

将const指针强制指向非const指针很危险的,也不知道是谁想的这么个主意
如果非要这么写,那就写:
cp = (char*)string2

使用特权

评论回复
7
myworkmail|  楼主 | 2009-12-24 20:22 | 只看该作者
我查了,好象是程序匠人写的 .哦也
http://blog.21ic.com/user1/349/archives/2008/48016.html

使用特权

评论回复
8
lxyppc| | 2009-12-24 21:00 | 只看该作者
哦也
真是匠人
看来可以改改了 :lol

使用特权

评论回复
9
rain_tz| | 2010-1-6 20:10 | 只看该作者
不太懂,路过

使用特权

评论回复
10
momonivvuu| | 2010-1-27 16:19 | 只看该作者
8# lxyppc

使用特权

评论回复
11
gshuang1| | 2010-3-1 10:07 | 只看该作者
晕,明显是类型不匹配,指针指个毛啊,这种小儿科问题都会犯,佩服!佩服!!

使用特权

评论回复
12
yt_shen| | 2010-4-19 14:27 | 只看该作者
const char string2[len] ="this is a example!";
const char * cp;
cp = string2 ;

使用特权

评论回复
13
zptonghua| | 2010-5-19 16:44 | 只看该作者
const char string2[len] ="this is a example!";
char * cp;
cp = string2 ;
在ANSI c中式不允许出现这样的情况的,在C++里面是可以的

使用特权

评论回复
14
xyp749192072| | 2010-5-27 18:03 | 只看该作者
1# myworkmail 定义的指针是变量,数组地址在编译时候已经确定,不是变量,所以不能这么操作。

使用特权

评论回复
15
28182900| | 2012-6-28 13:32 | 只看该作者
那该怎么改呢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

100

帖子

0

粉丝