我想在C++中創建一個類,並且能夠在多個C++文件中訪問該類的元素。我嘗試了超過7種可能的senarios來解決這個錯誤,但一直不成功。我已經看過類似的前瞻性聲明,這似乎不是答案(我可能是錯的)。在多個cpp文件中使用類/結構體/聯合C++
//resources.h
class Jam{
public:
int age;
}jam;
//functions.cpp
#include "resources.h"
void printme(){
std::cout << jam.age;
}
//main.cpp
#include "resources.h"
int main(){
printme();
std::cout << jam.age;
}
Error 1 error LNK2005: "class Jam jam" ([email protected]@[email protected]@A) already defined in stdafx.obj
Error 2 error LNK1169: one or more multiply defined symbols found
我理解的錯誤是一個多definiton因爲我包括這兩個cpp文件resources.h
。我怎樣才能解決這個問題?我曾嘗試在CPP文件中聲明class Jam
,然後爲每個需要訪問該類的CPP文件聲明extern class Jam jam;
。我也嘗試過向班級宣佈指示,但是我一直不成功。謝謝!