Lun*_*oms 3 c linux unsigned signed gcc
我的默认字符类型是gcc选项(-funsigned-char gcc)中设置的"unsigned char".所以当我在代码中需要"unsigned char"时,我可以使用"char".但我收到警告(char*)和(unsigned char*或signed char*)之间的转换:
"error: pointer targets in passing argument 1 of 'test2' differ in signedness" .
当我将unsigned char*变量传递给char*时,我怎么能避免警告(知道我的syetem有编译器选项设置的默认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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3793 次 |
| 最近记录: |