2017-02-06 6 views
-1

TerminalFrame :: start();の呼び出し後にエラーが発生しました。私は何が間違っていますか?呼び出し後のpiThreadCreateエラー

TerminalMain.cpp|223|error: cannot call member function ‘int TerminalFrame::start()’ without object|

void TerminalFrame::start() 
{ 
StaticText1->SetLabel(wNFC); 
} 

PI_THREAD (startNfc) 
{ 

    TerminalFrame::start(); 

    return NULL ; 
} 

piThreadCreate (startNfc) ; 
+0

この関数はオブジェクトなしで呼び出されるために 'static'(例えば'でなければなりませんTerminalFrameが開始::() ')しかしこれがなければ' someTerminalFrame.start() 'と呼ばれるべきです。 –

+0

TerminalFrame.start(); TerminalMain.cpp | 230 | error: '。' tokenの前に予期しないunqualified-idがあります。 –

+0

もちろん、それは 'TerminalFrame'がクラス名のように見えるからです。あなたはこのクラスのオブジェクトを持っているのでしょうか、あるいはそれを参照しているのでしょうか?あるいは、関数を 'static void TerminalFrame :: start'に変更することを検討してください。 –

答えて

1

機能がstaticでなければなりませんClassName::foo()のようなメンバ関数を呼び出します。

機能が静的でない場合は、あなたが最初のようなオブジェクトを作成する必要があります。

ClassName var; 
var.foo(); 
+0

TerminalFrameはwxFrameです。 –

+1

既に作成している場合は、すでに使用できるハンドルが必要です。 – 4386427

関連する問題