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

Dan*_*nni 4 c++ class include

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

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

/*
 * Class:    CViewPlayer
 *
 */
class CViewPlayer : public wxWindow, public CDocumentObserver
{
public:
      CViewPlayer(CViewPlayerDlg *dlg);                //here
Run Code Online (Sandbox Code Playgroud)

在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());
}
Run Code Online (Sandbox Code Playgroud)

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

Jam*_*lis 5

这通常意味着尚未声明类.

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

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