1
我正在嘗試使用下面的表達式將內存重新分配給我的表。但是我總是收到下面的錯誤消息。請告訴我。如何對下面的表達式進行類型轉換
typedef char *OFAttribs[6];
OFAttribs *tmp = realloc(pTable, sizeof(*tmp) * (nTableLen+1));
Error: invalid conversion from âvoid*â to âchar* (*)[6]â
你鍵入了一個指向數組的指針。數組本質上也是指針。所以你的類型是一個指針指針。然後你聲明瞭這個類型的指針。你確定這就是你想要的嗎? –
@AE:數組不是*指針,這裏的'OFAttribs'類型絕對不是指向指針的指針。 – caf
@caf如果你嘗試編譯'int a [2]; int b = a;'作爲C++,你會從gcc無效轉換'int *'到'int'中得到以下錯誤。所以在這種情況下,'a'確實是一個指向int的指針。 –