有人可以解释为什么会发生以下错误:
#define bla "\xA"
char a [2] = {0};
memcpy (a,bla,1); // a[0] = 0x0a <- Correct
//a[1] = bla; // '=' : cannot convert from 'const char [2]' to 'char'
谢谢,
RM
答案 0 :(得分:5)
类型不同:a [1]是char,“\ xA”是char数组。
在C ++和C中,用双引号括起来的东西(包括什么都没有)是一个char数组。
答案 1 :(得分:4)
尝试:
#define bla '\xA'
虽然这会阻止memcpy
工作。