ошибка: неверный суффикс & quot; x & quot; на целочисленной константе

Я получаю упомянутую ошибку для следующего кода:

#include "iostream"
#include <stdint.h>
#define CONTINUE 0x00
#define END 0x80
#define POWER7 0x

int main(){
uint8_t *s = new uint8_t[ 10 ];
int res = 0;
int t = 2;
res=t & POWER7;
s [ 0]= ( t >POWER7 ? CONTINUE : END ) | res ;
return 0;
}

Этот код работал нормально, но после внесения некоторых изменений я получаю сообщение об ошибке. Я новичок в c ++, поэтому совершенно не могу понять эту ошибку.

Ошибка:

smple.cpp:11:10: error: invalid suffix "x" on integer constant
smple.cpp:12:15: error: invalid suffix "x" on integer constan

T

-7

Решение

Вы используете неверный числовой литерал

#define POWER7 0x

в заявлениях

   res=t & POWER7;
s [ 0]= ( t >POWER7 ? CONTINUE : END ) | res ;

Согласно стандарту C ++ шестнадцатеричный целочисленный литерал определяется следующим образом:

hexadecimal-literal:
0x hexadecimal-digit
0X hexadecimal-digit
hexadecimal-literal hexadecimal-digit

то есть после 0x или 0X должна быть хотя бы одна шестнадцатеричная цифра.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]