關於STRUCT命名的問題

c++中經常會用到各種struct結構,有微軟提供的,也有自定義的,但這次在一個項目中遇到了一個比較奇怪和奇葩的問題,就是在定義struct結構時的規則上出現了問題,看下面的例子:

struct 
{
	CString receivecout;
	CString sendcout;
}mailcoutInfo;


我若向上面的書寫規則命名結構體,則在後面使用時會出現 mailcoutInfo 沒有定義之類的錯誤。且根據不同的用法可能會報出各種千奇百怪的錯誤,今天也調試了好久才發現這個問題,哎,,,太菜。

因此,正確的書寫方式應該如下:

struct mailcoutInfo
{
	CString receivecout;
	CString sendcout;
};

或者使用另外一種使用更普遍且更方便定義指針結構體的方式:

typedef struct
{
	CString receivecout;
	CString sendcout;
}mailcoutInfo,*pmailcoutInfo;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章