c++中经常会用到各种struct结构,有微软提供的,也有自定义的,但这次在一个项目中遇到了一个比较奇怪和奇葩的问题,就是在定义struct结构时的规则上出现了问题,看下面的例子:
struct
{
CString receivecout;
CString sendcout;
}mailcoutInfo;
我若向上面的书写规则命名结构体,则在后面使用时会出现 mailcoutInfo 没有定义之类的错误。且根据不同的用法可能会报出各种千奇百怪的错误,今天也调试了好久才发现这个问题,哎,,,太菜。
因此,正确的书写方式应该如下:
struct mailcoutInfo
{
CString receivecout;
CString sendcout;
};
或者使用另外一种使用更普遍且更方便定义指针结构体的方式:
typedef struct
{
CString receivecout;
CString sendcout;
}mailcoutInfo,*pmailcoutInfo;