所以这更像是一个语法问题。我一直在该行收到错误“Expected ')' before '*' token”:
#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 的构造函数出了问题,但我不知道。
最佳答案
这通常意味着类尚未声明。
在 CViewPlayer
构造函数 CViewPlayer(CViewPlayerDlg* dlg)
的声明中使用它之前,请检查是否声明了 CViewPlayerDlg
。
头文件中的语法错误通常意味着错误出在头文件中,而不是源 (.cpp) 文件中。
关于c++ - 在 ')' token 之前应为 '*',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2512918/