我創建了2個頭文件。 ListA.h和ListN.h重新定義錯誤:使用相同類名稱的不同.h文件
他們都自己使用自己的獨特的類列表。當我編譯我的程序(即使他們無法知道另一個存在,它說下面的錯誤)
我很確定它不應該是一個重新定義,但它顯然是。任何幫助表示讚賞。
ListA.h
#ifndef __LISTA_H_
#define __LISTA_H_
#include <iostream>
using namespace std;
class List{
public:
List(int = 0);
List(const List&);
~List();
};
#endif
ListN.h
#ifndef __LISTN_H_
#define __LISTN_H_
#include <iostream>
using namespace std;
class List{
public:
List(int = 10);
List(const List&);
~List();
};
#endif
ListA.cpp
#include "ListA.h"
using namespace std;
List::List(int mySize)
{
//...
}
ListN.cpp
#include "ListN.h"
#include <iostream>
using namespace std;
List::List(int size)
{
//...
}
主要
#include <iostream>
#include "ListN.h"
using namespace std;
int main()
{
List myList;
return 0;
}
它們都在同一個項目中,_might_與它有關。 –
** [basic.def.odr] **「給定一個名爲D的實體定義在多個翻譯單元中,那麼D的每個定義都應包含相同的標記序列......」你違反了這個規則,一個名爲'List'的實體在不同的翻譯單元中定義不同。 –