递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库

类型无法强转的问题

查看数: 1692 | 评论数: 11 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2025-5-16 12:23

正文摘要:

代码如下: int read_func(void* ptr, uint8_t* buf, int buf_size) {     FILE* fp = (FILE*)ptr;     size_t size = fread(buf, 1, buf_size, fp);     int ret = size;     pr ...

回复

cxz7411 发表于 2025-5-16 16:21:34
本帖最后由 cxz7411 于 2025-5-16 16:22 编辑

<火山程序 类型 = "通常" 版本 = 1 />

方法 read_func
参数 ptr <类型 = 变整数>
参数 buf <类型 = 变整数>
参数 buf_size <类型 = 整数>
{
    @  FILE* fp = (FILE*)@<ptr>;
    @ size_t size = fread((void*)@<buf>, 1, @<buf_size>, fp);
    @ int ret = size;
    @ return ret;
}
沉默流星 发表于 2025-5-16 13:42:45
Xelloss0618 发表于 2025-5-16 13:36
当然是要自己封,或者统一用变整数也行

好的,谢谢X大
Xelloss0618 发表于 2025-5-16 13:36:50
沉默流星 发表于 2025-5-16 13:34
无符号字节指针,官方类库中没搜到啊

当然是要自己封,或者统一用变整数也行
沉默流星 发表于 2025-5-16 13:34:54
Xelloss0618 发表于 2025-5-16 13:21
一、uint8_t* 是无符号字节指针,不是字符;
二、文件类的别名类型改成本地整数基本类型,才可以强转; ...

无符号字节指针,官方类库中没搜到啊
Xelloss0618 发表于 2025-5-16 13:21:01
一、uint8_t* 是无符号字节指针,不是字符;
二、文件类的别名类型改成本地整数基本类型,才可以强转;
沉默流星 发表于 2025-5-16 13:11:44
server 发表于 2025-5-16 13:08
如果C++ 支持的话,你直接使用 @ 嵌入代码. 可以避免 语法检查.
我不清楚你  是 如何定义 文件类  的
...

是的,用嵌入是可以实现的。我想问的是不使用嵌入能不能解决这个问题
server 发表于 2025-5-16 13:08:41
沉默流星 发表于 2025-5-16 13:06
这种目前我采用的嵌入方式来解决的.

如果C++ 支持的话,你直接使用 @ 嵌入代码. 可以避免 语法检查.
我不清楚你  是 如何定义 文件类  的
沉默流星 发表于 2025-5-16 13:06:51
小蜗牛 发表于 2025-5-16 12:51
指针不能转为类...如果可以就方便很多了

这种目前我采用的嵌入方式来解决的.
沉默流星 发表于 2025-5-16 13:04:32
server 发表于 2025-5-16 12:58
你这不是方不方便的问题。
他这个写法都过不了C++编译器吧。
不能这样用类。

你说错了,C++编译器是支持的,只是上层火山语法限制不让这样做.
跟C++基础牢固不牢固没啥关系.

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2025-6-8 02:42 , Processed in 0.090558 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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