gpt4 book ai didi

c - 如何避免普通 "char"到 : "unsigned char" OR "signed char" conversion? 的 gcc 警告

转载 作者:IT王子 更新时间:2023-10-29 00:52:19 24 4
gpt4 key购买 nike

我的默认字符类型是在 gcc 选项 (-funsigned-char gcc) 中设置的“unsigned char”。所以可以说,当我在代码中需要“unsigned char”时,我可以使用“char”。但是我收到关于 (char*) 和 (unsigned char* or signed char*) 之间转换的警告:

“错误:‘test2’传递参数 1 的指针目标的符号不同”

当我将 unsigned char* 变量传递给 char* 时(知道我的系统具有由编译器选项设置的默认 unsigned char),如何避免警告?

static void test2(char* a)      //char is unsigned by deafult as set by -funsigned-char gcc option
{
}

void test1(void)
{
// This passes, but if i change it to unsigned char (or 'signed char') it fails
// I dont want it to fail for "unsigned char c" since default char is unsigned.
char c = 65;
test2(&c);
}

最佳答案

开关 -funsigned-char-fsigned-char 不引用 char *

您可以使用 -Wno-pointer-sign 关闭您收到的警告。

关于c - 如何避免普通 "char"到 : "unsigned char" OR "signed char" conversion? 的 gcc 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13400605/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com