相关疑难解决方法(0)

将char*传递给期望unsigned char*的方法

我正在研究一些有SDK的嵌入式设备.它有一个方法,如:

MessageBox(u8*, u8*); // u8 is typedefed unsigned char when I checked
Run Code Online (Sandbox Code Playgroud)

但我在他们的例子中看到调用代码如:

MessageBox("hi","hello");
Run Code Online (Sandbox Code Playgroud)

没有强制转换传递char指针.这可以很好地定义吗?我问,因为我在代码上运行了一些工具,它抱怨上面的不匹配:

messageBox("Status", "Error calculating \rhash");
diy.c  89  Error 64:  Type mismatch (arg. no. 1) (ptrs to signed/unsigned)
diy.c  89  Error 64:  Type mismatch (arg. no. 2) (ptrs to signed/unsigned)
Run Code Online (Sandbox Code Playgroud)


有时我对这个答案有不同的看法,这让我更加困惑.总结一下,通过上面描述的方式使用他们的API,这个问题是什么?它会破坏程序吗?

而且,听到将字符串传递给期望不会导致约束违规的SDK方法的正确方法会很高兴unsigned char*吗?

c

7
推荐指数
1
解决办法
1297
查看次数

标签 统计

c ×1