c ++ / cli错误C2143:语法错误:缺少';'在'。'之前

时间:2012-03-25 13:27:35

标签: c++-cli

高,伙计们!很抱歉问你这个问题,但我找不到导致错误的原因。另外,我是Visual C ++ / CLI的新手,所以我知道我的代码可以使用一些抛光。 简而言之,我要做的是从表单中捕获数据以构建一个类。 我很感激任何帮助。谢谢。

我的代码:

// 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 ELSE:

//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;
}

1 个答案:

答案 0 :(得分: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 
  } 
};