大家好我正面临另一个问题,我正在研究单个位并从ascii文本中提取数据.问题是编译器给出了一个错误,即将char(8位)转换为4位存储器字段可能会改变其值.
显然这是真的,但我怎么能克服这个错误呢?
typedef struct {
struct {
unsigned int type: 4;
unsigned int uid: 8;
unsigned int operation: 4;
unsigned int reg: 16;
}header;
char *arg_nm;
} OWL_request;
Run Code Online (Sandbox Code Playgroud)
完整的错误:
error: conversion to 'unsigned char:4' from 'char' may alter its value [-Werror=conversion]
Run Code Online (Sandbox Code Playgroud)
这是作业
request.header.type = (char)(j[0]-65);
Run Code Online (Sandbox Code Playgroud)
j 是 *char
我要做的是在不改变编译器标志的情况下摆脱错误