在'*'标记之前预期')'

时间:2010-03-25 03:32:34

标签: c++ class include

所以这更像是一个语法问题。我一直在'*'token'之前得到错误“Expected')':

#include "CDocumentObserver.h"
#include "CViewPlayerDlg.h"

/*
 * Class:    CViewPlayer
 *
 */
class CViewPlayer : public wxWindow, public CDocumentObserver
{
public:
      CViewPlayer(CViewPlayerDlg *dlg);                //here

在CViewPlayer.h中。 .cpp构造函数如下所示:

#include "CViewPlayer.h"
#include "wx/prec.h"
#include "CViewPlayerDlg.h"

using namespace std;

BEGIN_EVENT_TABLE(CViewPlayer, wxWindow)
    EVT_PAINT(CViewPlayer::OnPaint)
END_EVENT_TABLE()

CViewPlayer::CViewPlayer(CViewPlayerDlg *dlg) :
    wxWindow(dlg, wxID_ANY, wxDefaultPosition, wxSize(dlg->GetDocument()->GetSize()), wxBORDER_SUNKEN),
    CDocumentObserver(dlg->GetDocument()), mStartTime(0), mPlayTime(0), mPlaying(false)
{
    SetBackgroundColour(wxColour(128, 128, 128));
    SetClientSize(GetDocument()->GetSize());
}

导致此错误的原因是什么?我认为.cpp的构造函数中出现了错误,但我不知道。

1 个答案:

答案 0 :(得分:5)

这通常意味着尚未声明一个类。

CViewPlayerDlg构造函数CViewPlayer的声明中使用它之前,请检查CViewPlayer(CViewPlayerDlg* dlg)是否已声明。

头文件中的语法错误通常意味着错误位于头文件中,而不是源(.cpp)文件中。