硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1815|回复: 7
收起左侧

[emWin上位机] 问下udp通信

[复制链接]

10

主题

28

回帖

155

积分

初级会员

积分
155
发表于 2018-7-25 17:44:08 | 显示全部楼层 |阅读模式
const u8 *tcp_demo_sendbuf=0X00;       //存数据

pbuf_take(ptr,   (int*)tcp_demo_sendbuf,   strlen((int*)tcp_demo_sendbuf)); //发数据

为什么他会报错 #167: argument of type "int *" is incompatible with parameter of type "const char *"



回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106838
QQ
发表于 2018-7-25 17:53:03 | 显示全部楼层
strlen((int*)tcp_demo_sendbuf); 这个参数类型不兼容。


ps:帮你重新编辑了下帖子,之前可读性稍差
回复

使用道具 举报

10

主题

28

回帖

155

积分

初级会员

积分
155
 楼主| 发表于 2018-7-26 08:26:03 | 显示全部楼层
怎么解决?我需要输入一个数组
回复

使用道具 举报

0

主题

105

回帖

105

积分

初级会员

积分
105
发表于 2018-7-26 09:00:37 | 显示全部楼层
数据类型不对,不能用const指针参数。c语言基础语法,强制类型转换或者定义非const类型
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106838
QQ
发表于 2018-7-26 10:09:59 | 显示全部楼层
barryxiao 发表于 2018-7-26 09:00
数据类型不对,不能用const指针参数。c语言基础语法,强制类型转换或者定义非const类型

这个是指针指向的存储单元是const型,没关系的。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106838
QQ
发表于 2018-7-26 10:11:15 | 显示全部楼层
wao 发表于 2018-7-26 08:26
怎么解决?我需要输入一个数组

strlen((const char *)tcp_demo_sendbuf);
回复

使用道具 举报

0

主题

105

回帖

105

积分

初级会员

积分
105
发表于 2018-7-28 10:13:14 | 显示全部楼层
eric2013 发表于 2018-7-26 10:09
这个是指针指向的存储单元是const型,没关系的。

不是这样的。函数要求参数是普通类型的,填入参数是const型的,c不会自动转换,会报错。反过来的话可以。需要在填入参数的时候加(const char/int *)做强制类型转换
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106838
QQ
发表于 2018-7-28 10:18:51 | 显示全部楼层
barryxiao 发表于 2018-7-28 10:13
不是这样的。函数要求参数是普通类型的,填入参数是const型的,c不会自动转换,会报错。反过来的话可以。 ...

肯定没关系的,指针型的const,没任何问题的,你自己试试。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-7 01:01 , Processed in 0.167676 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表