在头文件中使用extern的全局对象

时间:2015-05-10 17:15:14

标签: c++ global extern

我希望在我的程序中创建一个Class I的全局实例。 现在,我可以用从库中导入的整数,浮点数或类来做同样的事情(例如Qt)。 这是我的结构

文件:COMMON.H

#ifndef COMMON_H
#define COMMON_H
#include "CChess.h"
extern CChess game;
#endif

文件:TestGame.cpp

#include "common.h"
#include "CChess.h"
CChess game;
int main(int argc,char **argv)
{
   //main code
}

文件:CChess.h

#ifndef CCHESS_H
#define CCHESS_H


#include "Common.h"
#include "CBoard.h"

class CChess
{
public:
    CBoard mqGameBoard;
    PinchState current_hand_state;
    char mcPlayerTurn;

    //constructors
    CChess();
    ~CChess() {}
    //methods
    void setPinchState(PinchState current_hand_state);
    PinchState getPinchState();
    void Start();
    void GetNextMove(CPiece* qpaaBoard[8][8]) ;
    void AlternateTurn();
};

#endif

我明白了:

Error   75  error C2146: syntax error : missing ';' before identifier 'game'    .\Common.h  
Error   76  error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   .\Common.h  93

我该怎么办? 完全相同的东西与int,float等完美配合

0 个答案:

没有答案