定义了一个结构体 struct RGB
{
short red;
short green;
short blue;
};另外声明了两个结构体,和一个结构体数组,想在结构体数组初始化的时候,根据普通数组的赋值方法进行赋值RGB oncolor,offcolor;
oncolor.red=255;
...
offcolor.blue=-255;
RGB case1[4][4]={
{oncolor,oncolor,oncolor,oncolor},
{oncolor,offcolor,oncolor,oncolor},
{oncolor,oncolor,offcolor,oncolor},
{oncolor,oncolor,offcolor,oncolor}
};
但是提示说error C2440: 'initializing' : cannot convert from 'struct CMyGenetic::RGB' to 'short'如果用case1[0][0]=oncolor;这种方法的确可以,但是这个数组是4*4还好,后面还有20*20的,数组内容又是没有规律的。
想到这点,眼前就一黑。有没有办法对其进行初始化呢?
比如在结构体里边定义个什么函数= =请赐教~~
{
short red;
short green;
short blue;
};另外声明了两个结构体,和一个结构体数组,想在结构体数组初始化的时候,根据普通数组的赋值方法进行赋值RGB oncolor,offcolor;
oncolor.red=255;
...
offcolor.blue=-255;
RGB case1[4][4]={
{oncolor,oncolor,oncolor,oncolor},
{oncolor,offcolor,oncolor,oncolor},
{oncolor,oncolor,offcolor,oncolor},
{oncolor,oncolor,offcolor,oncolor}
};
但是提示说error C2440: 'initializing' : cannot convert from 'struct CMyGenetic::RGB' to 'short'如果用case1[0][0]=oncolor;这种方法的确可以,但是这个数组是4*4还好,后面还有20*20的,数组内容又是没有规律的。
想到这点,眼前就一黑。有没有办法对其进行初始化呢?
比如在结构体里边定义个什么函数= =请赐教~~
Declared in wingdi.h
#define RGB(r, g ,b) ((DWORD) (((BYTE) (r) | \
((WORD) (g) << 8)) | \
(((DWORD) (BYTE) (b)) << 16))) 改一个名字看看
{
short red;
short green;
short blue;
};
别用结构,用COLORREF类型就可以了。可以用GetRValue等函数分别获取颜色分量
#define offcolor {0,0,-255}
// myRGB oncolor,offcolor;
// oncolor.red=255;
// offcolor.blue=-255;
myRGB case1[4][4]=
{
{oncolor,oncolor,oncolor,oncolor},
{oncolor,offcolor,oncolor,oncolor},
{oncolor,oncolor,offcolor,oncolor},
{oncolor,oncolor,offcolor,oncolor}
};