簡體   English   中英

編譯器警告:integer 轉換為賦值指針

[英]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)指向myReadValue的指針到uint32的轉換,而不是相反,並且這種轉換不會在分配時發生……有些事情你沒有告訴我們。 發布產生問題的可編譯代碼。

無論如何,演員表都沒用,您可能應該改用它:

myNewValue = myReadValue | (3 << 8);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM