G
ge
Unregistered / Unconfirmed
GUEST, unregistred user!
WINDOWS的一个位图结构如下:
typedef struct tagBITMAPINFO { // bmi
BITMAPINFOHEADER bmiHeader
RGBQUAD bmiColors[1]
} BITMAPINFO
为什么在VC中就可以进行如下操作:
for( int k = 0
k < 256
++k){
BMIInfo->bmiColors[k].rgbBlue = (BYTE)k
BMIInfo->bmiColors[k].rgbGreen = (BYTE)k
BMIInfo->bmiColors[k].rgbRed = (BYTE)k
BMIInfo->bmiColors[k].rgbReserved = 0
}
但是明明bmiColors是[1],
在DELPHI中没法进行如上操作,K大于1它就出错!
这是怎么回事?
typedef struct tagBITMAPINFO { // bmi
BITMAPINFOHEADER bmiHeader
RGBQUAD bmiColors[1]
} BITMAPINFO
为什么在VC中就可以进行如下操作:
for( int k = 0
k < 256
++k){
BMIInfo->bmiColors[k].rgbBlue = (BYTE)k
BMIInfo->bmiColors[k].rgbGreen = (BYTE)k
BMIInfo->bmiColors[k].rgbRed = (BYTE)k
BMIInfo->bmiColors[k].rgbReserved = 0
}
但是明明bmiColors是[1],
在DELPHI中没法进行如上操作,K大于1它就出错!
这是怎么回事?