我有这可能是一个声明问题:
我声明了一个const int数组:
const int my_array[] = {
// data...
}
Run Code Online (Sandbox Code Playgroud)
然后我需要声明窗体的另一个字节数组:
00 aa 01 bb 02 cc
Run Code Online (Sandbox Code Playgroud)
其中aabbcc是const int内存中的24位地址(我精确地为一个非常特殊的平台编写代码,这解释了这一点),所以我写道:
const char my_other_array[] = {
00, (my_array >> 16) & 0xFF, 01, (my_array >> 8) & 0xFF, 02, my_array & 0xFF
}
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
error: invalid operands to binary >>
error: initializer element is not constant
Run Code Online (Sandbox Code Playgroud)
我考虑过铸造my_array:
const char my_other_array[] = {
00, (((const u32) my_array) >> 16) & 0xFF, 01, (((const u32) my_array) >> 8) & 0xFF, 02, ((const u32) …Run Code Online (Sandbox Code Playgroud)