编译器警告:赋值时将整数转换为指针

Compiler warning: Conversion of integer to pointer at assignment

我正在执行以下操作:

static uint32 myReadValue;
static uint32 myNewValue;

DoRead(10, &myReadValue);

myNewValue = (uint32)(&myReadValue) | (3 << 8);

据此

void DoRead(SomeEnumType, void * Ptr)
{
    // some functionality
}

编译器给我消息:

"conversion of integer to pointer at assignment" on the assignment of "myNewValue" 

我不明白我做错了什么。 有什么想法吗?

(uint32)(&myReadValue) uint32 的指针到 myReadValue 的转换,而不是相反,这种转换不会发生正在分配...有些事情您没有告诉我们。 Post 产生问题的可编译代码。

演员阵容无论如何都没用,你可能应该改用这个:

myNewValue = myReadValue | (3 << 8);