我需要爲QImage數組動態分配內存。QImage數組的動態分配
它爲我在Linux中:
void Arrange_Images(int numOfCams, int numBoards)
{
QImage * array_of_images[numOfCams*numOfBoards];
.
.
.
}
但Windows將不解決此問題,並且將其標記爲錯誤。 對於標準數組,我可以使用malloc,但這是一個QImage數組。 之後,每個單元格將被圖像填充以進行重新排序和進一步處理。 感謝您的幫助。
粘貼錯誤消息。 – KjMag
一些建議:1.上面不是'QImage'數組,它是'Qimage'的指針數組*。 2.你不應該在C++中使用'malloc'。 3.對於原始內存管理,你應該使用'new',但是你真的應該在現代C++的應用程序代碼中避免原始內存管理。 4.使用'QImage',您不必使用指針,因爲它是一個輕量級寫時複製類,因此您可以在可能的情況下使用值。 5.在現代C++中也應該避免使用C風格的數組,而在Qt中,如果您真的想要固定大小的數組,可以使用嵌套'QList',或'std :: vector'或'std:array'。 – hyde
而且,它在Linux上工作可能是因爲您使用了一種編譯器,它使用C++支持C風格的可變長度數組(VLA)。它不是標準的C++,而是由特定編譯器提供的擴展。 – hyde