c++中經常會用到各種struct結構,有微軟提供的,也有自定義的,但這次在一個項目中遇到了一個比較奇怪和奇葩的問題,就是在定義struct結構時的規則上出現了問題,看下面的例子:
struct
{
CString receivecout;
CString sendcout;
}mailcoutInfo;
我若向上面的書寫規則命名結構體,則在後面使用時會出現 mailcoutInfo 沒有定義之類的錯誤。且根據不同的用法可能會報出各種千奇百怪的錯誤,今天也調試了好久才發現這個問題,哎,,,太菜。
因此,正確的書寫方式應該如下:
struct mailcoutInfo
{
CString receivecout;
CString sendcout;
};
或者使用另外一種使用更普遍且更方便定義指針結構體的方式:
typedef struct
{
CString receivecout;
CString sendcout;
}mailcoutInfo,*pmailcoutInfo;