c++-cli 相关问题

C ++ / CLI基于C ++,经过修改,允许为Microsoft的公共语言基础结构(CLI)编译本机代码和代码的混合。它取代了微软的C ++ Managed Extensions,旨在提高C ++的一致性。

我收到 C2976 'std::array': 模板参数太少 & C3699 '^': 无法在此代码中的类型 'std::array' 上使用此间接寻址

我还是个初学者,不知道这里发生了什么。 我的代码: #include“MainForm.h” #包括 #包括 #包括 #包括 我还是个初学者,不知道这里发生了什么。 我的代码: #include "MainForm.h" #include <iostream> #include <windows.h> #include <conio.h> #include <mmsystem.h> #include <fstream> #include <ctime> #include "songs.h" #include "SongsInPlaylist.h" using namespace System; using namespace System::Windows::Forms; void main(array<String^>^ args) { songs_DLList l; songs_buildFromFile(l); Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); DSAProjectOnceMore::MainForm form; Application::Run(%form); songs_menu(l, "songs/test.wav"); } 错误: C2976 'std::array': too few template arguments & C3699 '^': cannot use this indirection on type 'std::array' 错误在void main(...)行。 我可以发誓,在我添加源文件和头文件之前,代码在这里没有给出任何错误。 您的错误信息: 'std::array':模板参数太少 & C3699 '^':无法使用它 此代码中类型“std::array”的间接寻址 指的是std::array,它是一个C++标准库类。 在这一行中: void main(array<String^>^ args) array 应该是一个 C++/CLI .NET 数组。 此错误的可能原因是在任何 #included 标头中,您都有两个: #include <array> // for using the C++ std::array 并且: using namespace std; // to avoid the need to use the std:: prefix 这会导致编译器错误地认为 array<String^>^ args 指的是 C++ std::array。 这是一个很好的例子,“使用命名空间 std;”有什么问题?. 解决方案是从源代码(尤其是所有标头)中删除 using namespace std;。这可能会导致一些编译错误,您可以通过在需要的地方添加 std:: 前缀来解决。

回答 1 投票 0

C# 程序找不到 C++/CLI DLL

完成步骤: 制作了标准的C#程序(实际上是 https://learn.microsoft.com/en-us/aspnet/core/tutorials/grpc/grpc-start?view=aspnetcore-8.0&tabs=visual-studio)。 这样可行。 C++/CLR ...

回答 1 投票 0

C++/CLI 从 typedef std::function 到托管委托

我有一个来自外部库的大类,我需要在托管代码中使用非托管回调。 非托管代码简化: typedef std::function

回答 1 投票 0

使用C++和.NET Framework连接SQL Server

我正在 .NET Framework 中使用 C++ 语言创建一个应用程序,我正在尝试连接 SQL Server,但无法连接它。错误按摩是 [System.Data.SqlClient.SqlException:'网络重新...

回答 1 投票 0

如何使用c++和.net框架连接Microsoft sql server

我正在.net框架中使用C++语言创建一个应用程序我正在尝试连接Microsoft SQL服务器,但无法连接它。错误消息是 [System.Data.SqlClient.SqlException: 'A n...

回答 1 投票 0

如何在 C++-CLI 中创建全局句柄

我尝试在 C++-CLI 项目中使用 C# 类,但 Visual Studio 只允许我在函数内部的本地范围内声明 C# 对象的句柄 (^)。我让它工作的唯一方法是

回答 6 投票 0

Windows 窗体 - 返回第一个窗体

我无法从 form2 返回到 form1。 我正在尝试做什么: 单击按钮时 form1 将带您到 form2 单击按钮时 form2 将带您到 form1。 我尝试改变这个->

回答 2 投票 0

如何在 C++ 中不使用 Lamda 的情况下创建线程并在托管类的成员函数中传递 (this)

我正在使用 Windows winform,并且我有另一个带有 Detector.h 和 Detector.cpp 文件的 ref 类检测器。 在 Detector.cpp 文件的成员函数中,我想创建一个可以更新的线程

回答 1 投票 0

从本机应用程序调用时,对 Roslyn 的包引用不起作用

当调用进程是本机 Win32 C++ 应用程序时,我在动态生成 C# 代码时遇到问题。 为了缩小问题范围,我创建了以下测试项目: DynCodeDll:.net5

回答 1 投票 0

C++/CLI Winforms。 E2244“托管类的成员不能属于非托管类类型”

我现在正在学习 C++,并尝试创建自定义数据类型 Employee 的向量。 Employee.h代码: 公共参考类员工{ 民众: 系统::字符串^名称; 年龄; 员工() { ...

回答 1 投票 0

托管代码、非托管代码和本机代码有什么区别?

非托管代码与本机代码相同吗?有什么不同? 重复:本机代码和托管代码之间的区别?

回答 3 投票 0

gcnew是什么?

我偶然发现了这段代码,我很自豪无法去问作者它的含义。 Hashtable^ tempHash = gcnew Hashtable(iterators_); IDictionaryEnumerator^ 枚举器 = tempHash->GetEnumera...

回答 3 投票 0

在 win32 应用程序中使用 c++/clr 创建 c#(WinFrom) 控件

我有两个项目,一个是win32程序,另一个是c++/cli动态库。 在c++/cli动态库中,它导出这个函数: 使用命名空间 System::Windows::Forms; 使用命名空间 System::

回答 1 投票 0

在 Windows 10 中,如何避免触摸键盘遮盖输入?

我们正在维护一个用 C、C++ 和 C++/CLI 组合编写的遗留应用程序,该应用程序部署在运行 Windows 10 的平板电脑上。重写该应用程序不是一种选择,但

回答 1 投票 0

Visual Studio 2022 CLR 空项目 (.NET Framework) 入口点不起作用,即使在设置后也是如此

我正在尝试在 Microsoft Visual Studio 2022 中运行 Windows 窗体。当我尝试运行该解决方案时,出现以下错误:“必须定义 LNK1561 入口点”,该错误链接到此...

回答 1 投票 0

如何在C++/CLI中将变量写入文件?

我有一个C++程序。我需要显示我的文本和变量。 我的代码: 字符串^我的变量; MyVariable =folderBrowserDialog1->SelectedPath // C://User/Users std::ofstream 输出; 出.打开(“...

回答 1 投票 0

如何在C++中显示变量?

我有一个C++程序。我需要显示我的文本和变量。 我的代码: 字符串^我的变量; MyVariable =folderBrowserDialog1->SelectedPath // C://User/Users std::ofstream 输出; 出.打开(“...

回答 0 投票 0

无法加载文件或程序集系统找不到指定的文件

我正在构建一个 dll,它引用第二个 dll。我已通过转到“属性”>“通用属性”>“框架和参考”将第二个 dll 添加为第一个 dll 项目中的参考...

回答 5 投票 0

C++ 中的光标位置 GetCursorPos() 返回链接错误

尝试让它发挥作用 使用 VisualStudio VC++ 我试图检测光标的位置,获取 x 和 y 并将其用于其他用途,但无论如何 - 都会发生链接错误。 公众:系统::V...

回答 1 投票 0

如何为回调设置 SuppressUnmanagedCodeSecurity?

使用P/Invoke时,添加[SuppressUnmanagedCodeSecurity]可以加快受信任场景下从托管代码到非托管代码的调用。 有没有办法反过来完成同样的事情

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.