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

C++ cli c++/cli错误C2143:语法错误:缺少'';在';之前';,c++-cli,C++ Cli,嗨,伙计们!很抱歉问您这个问题,但我找不到导致错误的原因。另外,我是Visual C++/CLI新手,所以我知道我的代码需要一些润色。 简而言之,我要做的是从表单中捕获数据来构建一个类。 我非常感谢你的帮助。提前谢谢 我的代码: // Form4A.h #pragma once # include "Tutors.h" namespace SisPro { //.... more code public ref class Form4A : public System::Windows

嗨,伙计们!很抱歉问您这个问题,但我找不到导致错误的原因。另外,我是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
    }
  };
}
其他地方:

//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;
}
//Tutors.h
使用名称空间系统;
公共参考类导师
{
公众:
导师();
无效添加(字符串^m1、字符串^m2、字符串^m3)
私人:
字符串^ID;
字符串^LASTNAME;
字符串^NAME;
};
//导师
#包括“stdafx.h”
#包括
#包括
#包括“Tutores.h”
导师:导师
{
ID=“”;
LASTNAME=“”;
NAME=“”;
}
无效导师::添加导师(字符串^m1、字符串^m2、字符串^m3)
{
ID=m1;
LASTNAME=m2;
名称=m3;
返回;
}

在班级表格4A中添加现场导师。并在构造函数中添加字段初始化

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

如果没有
Tutors
实例,则无法调用
add\u Tutors
add\u Tutors
的实现以及类
Tutors
本身都没有意义:它表示一个导师,也不是其复数名称所表示的多个导师。如果您想正确实施
添加家教
,您需要在某个地方收集家教。@dasblinkenlight,我认为您应该将其作为答案发布。@svick我没有提供足够的信息来解决此问题,所以我将其作为评论发布。我希望这篇评论能为OP提供更多信息来更新他的问题,然后我会发布更全面的内容。也许我对我想做的事情采取了错误的方法,但无论是书籍还是专家都没有告诉你如何处理简单的事情。他们想到的只是“你好,世界!”的例子。对不起,我问了!您无法从Hello World程序中了解类和对象之间的区别。如果没有共同点,专家们很难找到共同语言来解释问题。你真的需要从书本或学校里学习OOP的基础知识。