C ++期望一个类型说明符(Visual Studio)

时间:2018-04-06 03:11:41

标签: c++-cli

我尝试了很多东西。请帮帮我......

完整源代码:

Source Code

麻烦代码:

MySqlDataAdapter adapter;
DataTable table;

private: System::Void AcceptedApplications_Load(System::Object^  sender, 
System::EventArgs^  e) {
MySqlCommand^ com = gcnew MySqlCommand("command", conn);
adapter = new MySqlAdapter(com);
}`

2 个答案:

答案 0 :(得分:1)

标准警告:虽然可以用C ++ / CLI编写应用程序的主体,甚至可以使用WinForms在C ++ / CLI中编写GUI,但不建议这样做。 C ++ / CLI适用于互操作场景:C#或其他.Net代码需要与非托管C ++接口,C ++ / CLI可以提供两者之间的转换。因此,C ++ / CLI具有C ++的所有复杂性,C#的所有复杂性以及它自身的一些复杂性。对于主要开发,如果您需要托管代码,建议将C#与WinForms或WPF一起使用,如果您想要非托管,则建议使用带有MFC的C ++。

MySqlDataAdapter adapter;
...
adapter = new MySqlAdapter(com);

几个问题:

  • 在创建对象时,您似乎忘记了“数据”一词。
  • 根据MySQL's reference site,这是一个托管类。因此,声明时应该有^,实例化时应该gcnew

答案 1 :(得分:0)

public ref class类型通常需要在C ++ / cli和gcnew中使用^。

MySqlDataAdapter^ adapter = gcnew MySqlDataAdapter();
DataTable^ table = gcnew DataTable();