2011-08-31 60 views
0

我想調用在我的主函數中創建的類的成員函數,但我得到一些錯誤,我無法調用非靜態成員函數。如何調用「Form1」的公共成員函數「msg」?C++/CLI msvC++ 2010類問題

int main(array<System::String ^> ^args) { 
    Application::EnableVisualStyles(); 
    Application::SetCompatibleTextRenderingDefault(false); 

    Application::Run(gcnew Form1()); 

    int test = 0; 
    if (test>0) { 
     Form1::msg("1"); 
    } else { 
     Form1::msg("2"); 
    } 
    return 0; 
} 
+0

您不能使此代碼工作。不要在沒有先閱讀關於Winforms編程的書的情況下嘗試一下。 –

回答

0

您需要一個Form1的實例句柄。顯然你應該存儲gcnew Form1()的左值作爲調用msg的對象。

+0

我該怎麼辦? – lolzZ

+0

嘗試'Form1^p = gcnew Form1();'創建一個託管句柄。將'p'傳遞給'Run()'。然後使用'p-> msg(「1」)'和'p-> msg(「2」)'。但漢斯是對的:這段代碼看起來很奇怪。閱讀一本關於WinForms的書。 –