1. 程式人生 > >Warning[Pe301]: typedef name has already been declared (with same type)問題解決方法

Warning[Pe301]: typedef name has already been declared (with same type)問題解決方法

最近遇到一個警告問題,一直解決不了,網上也查閱了很多文章,都沒有講述具體的解決方法。

今天除錯程式,偶然發現一個現象,基於這個現象,分析該警告的可能原因如下:

首先,我是新建了一個main.h檔案,裡面包含所有的需要的標頭檔案,但在其中的一個檔案裡,我定義了一個結構型別;

test.h

typedef struct _A
{
int v1;
float v2;
}A;
這樣如果我在別的檔案裡應用這個A型別,就會出現類似的警告;

解決辦法之一,就是再建立一個檔案test_type.h

test_type.h

#ifndef __TEST_TYPE_H__
#define __TEST_TYPE_H__
typedef struct _A
{
int v1;
float v2;
}A;

#endif
這樣在test.h中包含test_type.h就可以了