2012-03-25 27 views
0

高校生!申し訳ありませんが、この質問をしてもエラーの原因を見つけることはできません。また、私はVisual C++/CLIで新しくなったので、私のコードでいくつかの研磨を使うことができます。要するに、私がやろうとしているのは、フォームからデータを取得してクラスを構築することです。 助けていただければ幸いです。前もって感謝します。C++/cliエラーC2143:構文エラー: ';'がありません。前 '。'

マイコード:ELSE

// Form4A.h 
#pragma once 
# include "Tutors.h" 
namespace SisPro 
{ 
    //.... more code 

    public ref class Form4A : public System::Windows::Forms::Form 
    { 
    #pragma region Windows Form Designer generated code 

    //.... more code 

    #pragma endregion 
    private: System::Void button4_Click(System::Object^ sender, System::EventArgs^ e) 
    { 
     String^m1 = comboBox14->SelectedItem->ToString(); 
     String^m2 = comboBox19->SelectedItem->ToString(); 
     String^m3 = comboBox20->SelectedItem->ToString(); 
     Tutors.add_tutor(m1, m2, m3);// ERROR C2143 
    } 
    }; 
} 

SOMWHERE:

//Tutors.h 
using namespace System; 
public ref class Tutors 
{ 
    public: 
    Tutors(); 
    void add_tutor(String^m1, String^m2, String^m3) 
    private: 
    String^ID; 
    String^LASTNAME; 
    String^NAME; 
}; 

// tutors.cpp 
#include "stdafx.h" 
#include <iostream> 
#include <iomanip> 
#include "Tutores.h" 
Tutors::Tutors() 
{ 
    ID  = ""; 
    LASTNAME = ""; 
    NAME  = ""; 
} 
void Tutors::add_tutor(String^m1, String^m2, String^m3) 
{ 
    ID  = m1; 
    LASTNAME = m2; 
    NAME  = m3; 
    return; 
} 
+2

'Tutors'のインスタンスなしでは' add_tutor'を呼び出すことはできません。 'add_tutor'の実装は意味をなさないだけでなく、' Tutors'クラスそのものでもありません。それは単一の先生を表します。複数の名前が示すように複数のものを表すこともありません。 'add_tutor'を正しく実装するには、チューターの集まりをどこかに持つ必要があります。 – dasblinkenlight

+0

@dasblinkenlight、私は答えとして投稿するべきだと思います。 – svick

+0

@svick問題を解決するのに十分な情報を提供していないので、コメントとして投稿しました。私はこのコメントが彼の質問を更新するためにOPにもっと多くの情報を提供し、より包括的な何かを投稿するといいと思います。 – dasblinkenlight

答えて

0

がクラスForm4Aのフィールドチューターを追加します。コンストラクタでフィールドの初期化を追加します。

public ref class Form4A : public System::Windows::Forms::Form 
{ 
    #pragma region Windows Form Designer generated code 

    //.... more code 

    Form4A() 
    { 
    //.. 

    this->Tutors = gcnew Tutors(); 
    } 


    #pragma endregion 

    Tutors^ Tutors; 

    private: System::Void button4_Click(System::Object^ sender, System::EventArgs^ e) 
    { 
    String^m1 = comboBox14->SelectedItem->ToString(); 
    String^m2 = comboBox19->SelectedItem->ToString(); 
    String^m3 = comboBox20->SelectedItem->ToString(); 
    Tutors.add_tutor(m1, m2, m3);// ERROR C2143 
    } 
}; 
関連する問題