C++/CLI 看似不合适的编译警告

2023-12-04

我正在使用与我的 Isis2 (C# .NET) 库对话的 C++/CLI 应用程序。在下面的代码中,我收到错误“警告 3 C4538:'cli::array ^':不支持此类型的 const/易失性限定符”。我突出显示了引发此问题的行。我很困惑:它没有数组,也不使用 const 或 volatile!有什么建议么?

// CPlusPlus.cpp : main project file.

#include "stdafx.h"
#using <IsisLib.dll>
using namespace Isis;
using namespace System;

void GotNewView(View^ v)
{
   Console::WriteLine("Got a new view: " + v->ToString());
}

public delegate void GotAnInt_T (int i);
void GotAnInt(int i)
{
   Console::WriteLine("Got an int: {0}", i);
}

public delegate void GotTwo_T (String ^s, double d);
void GotTwo(String^ s, double d)
{
   Console::WriteLine("Got a string: <{0}> and a double: {1}", s, d);
}

public delegate void SendsReply_T(int i);
void SendsReply(int i)
{
   thisGroup()->Reply(-i);
}

int main(array<System::String ^> ^args)
{ 
   IsisSystem::Start();
   Group ^g = gcnew Group("test");       <============= THIS LINE
   g->RegisterViewHandler(gcnew ViewHandler(GotNewView));
   g->Handlers[0] += gcnew GotAnInt_T(GotAnInt);
   g->Handlers[0] += gcnew GotTwo_T(GotTwo);
   g->Handlers[1] += gcnew SendsReply_T(SendsReply);
   g->Join();
   g->Send((int^)0, 12345);
   g->Send((int^)0, "Aardvarks are animals", 78.91);
   Console::WriteLine("After Send, testing Query");
   Collections::Generic::List<int>^ results = gcnew Collections::Generic::List<int>();
   int nr = g->Query(Group::ALL, 1, 6543, gcnew EOLMarker(), results);
   IsisSystem::WaitForever();
   return 0;
}

这是一个已知的编译器错误:它警告有关以下对象的易失性数组成员Group。它不应该这样做。

建议的解决方法是禁用警告:

#pragma warning (disable: 4538)

尽管我不能 100% 确定,但也许可以仅针对有问题的代码行禁用警告,因为 C++/CLI 代码中没有任何内容会导致此问题。你可以试试:

#pragma warning (push)
#pragma warning (disable: 4538)
Group^ g = gcnew Group("test");
#pragma warning (pop)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++/CLI 看似不合适的编译警告 的相关文章

  • 将 pubnub 添加到 angular2 cli 项目

    我想将 PubNub 添加到 angular2 cli 项目中 问题出在链接上 但是 我按照 npmjs com 上 pubnub angular2 包的说明进行操作 当我尝试在浏览器中加载它时 错误消息是这样的 例外 PubNub 不在全
  • Windows 相当于 Mac OS X“打开”命令

    刘畅在这里问了一个与此非常相似的问题 Linux 相当于 Mac OS X 打开 命令 https stackoverflow com questions 264395 linux equivalent of the mac os x op
  • 如何在 PHP 中运行 ffmpeg 命令

    我需要在 PHP 中运行 ffmpeg 命令 但是 php ffmpeg 不再支持最新版本并且已经过时 我可以知道在网络文件中运行 ffmpeg 命令的替代方法吗 PHP Javascript jQuery 我尝试exec and shel
  • 如何在 Node CLI 程序中使用 babel?

    我正在 Node 中编写一个小型 CLI 工具 并希望使用 ES6 来实现 index js 看起来像 usr bin env node require babel register module exports require app 我
  • 为所有图像添加前缀(递归)

    我有一个包含 5000 多张图像的文件夹 全部带有 JPG 扩展名 我想要做的就是递归地向所有图像添加 thumb 前缀 我发现了一个类似的问题 重命名文件和目录 添加前缀 https stackoverflow com questions
  • Linux 命令行工具验证 XSD 1.1?

    是否有任何命令行工具可以根据 XSD 版本验证 XML1 1 Xmllint https en wikipedia org wiki Libxml2不验证版本 1 1 我在 Xerces J 周围找到了一个方便的包装 https www d
  • 使用带有终结器的 C++/CLI 定义类时 C# 中的内存泄漏

    当我在 C CLI DLL 中实现一个类时 public ref class DummyClass protected DummyClass some dummy code std cout lt lt hello lt lt std en
  • CLI/C++:void* 到 System::Object

    这是一个类似的问题这个帖子 https stackoverflow com questions 1154929 void to object in c cli 我一直无法用它来解决我的问题 我在这里包含了一些代码 希望能帮助某人了解其他帖子
  • 在 Visual Studio C++ 2008 中包含 dll

    有没有办法将 dll 包含在项目中 这样我就不必在编译后将这些 dll 与可执行文件放在同一文件夹中 这样我就可以用它们编译我的项目 这是否有可能 如果是 有人可以指导我 我的项目是一个 opencv 项目 有很多 dll 我必须包含在文件
  • 使用 C++/CLI 包装非托管 C++ 类库 - 问题 2 - 集合

    Note 这篇文章代表了我的询问的问题 2 两个问题中都会重复介绍部分 达到数字之前的所有文本 因为它是回答问题可能需要的背景信息 问题简介 我有一个非托管 C 库 其中包含多个 更高级别 库所共有和共享的类和函数 我现在需要向 C Net
  • C++/CLI 中的 ref 和 out

    我知道 C CLI 代码 void foo Bar x 转变为 Void foo ref Bar x 变成的 C CLI 代码是什么 Void foo out Bar x 您可以使用 OutAttribute using namespace
  • 使用命名空间

    有什么区别 using System and using namespace System 是同一件事吗 thanks 是的 有区别 第一个无法编译 也许你的意思是这样的 using
  • C++/CLI 中的 Lambda 表达式

    如何在 C CLI 中使用 lambda 表达式 在 C 中 lambda 实际上只是用于创建委托的语法糖 C CLI支持代表 http www functionx com cppcli classes Lesson15c htm 因此您仍
  • 从 CLI 部署 Maven 项目?

    在 IDE 中构建并运行良好 cd home thufir NetBeansProjects HelloMaven JAVA HOME usr lib jvm java 8 openjdk amd64 home thufir local s
  • 如何在 C++/CLI 中将 C++ Short* 传递给托管 C# 程序集

    我在将参数从 C CLI 代码传递到 NET C 函数时遇到问题 在 C 中 我有类似以下内容 void SomeFunction short id CSharpClass StaticClassInstance gt SetValue i
  • 在 C++/CLI 中实现 IEnumerable

    我在实施时遇到问题IEnumerable
  • 使用 Visual Studio Express 2010 表单应用程序进行 C++ 多线程处理

    我正在开发一个 Windows 窗体应用程序 它连接到一个硬件 获取大量数据 1 GSample 秒 对其进行处理 然后单击按钮将其输出到屏幕上 我现在尝试在一个可以随时启动 停止的循环中自动化该过程 以便我可以在调整采集硬件的输入的同时对
  • 不带破折号的 CliBuilder 参数

    使用 Groovy CliBuilder 理想情况下我希望有一个命令行 如下所示 MyProgram groovy CommandName arg1 arg2 arg3 是否可以使用 CliBuilder 解析提取 CommandName
  • 如何为 Inquirer.js 编写单元测试?

    我想知道如何为 npm 包编写单元测试询问者 js https github com SBoudrias Inquirer js 这是一个让CLI打包更容易的工具 我读过了这个帖子 https glebbahmutov com blog u
  • 有效地调用非托管方法,将非托管对象作为托管代码的参数

    我有以下场景 托管代码将初始化类的许多对象 该类是非托管结构的包装器 为此我可以采用两种方法 一种是拥有一个托管类包装器 它只有一个指向非托管对象的指针 另一种是拥有一个成熟的托管类 并在需要调用非托管方法时创建非托管对象 我已经提供了以下

随机推荐

  • 使用套接字时发送当前值的 Unity 延迟

    Visual Studio 中的 client cs private void SendToServer string HeartRate SetHRTest HeartRate try s client GetStream StreamR
  • 通过 Javascript 预览 Html 文件上传

    我想为一篇文章展示预览之类的东西 所以通过 JS 获取详细信息 但问题来了
  • SVG onmouseover 对于具有重叠元素的组发生两次

    当将函数附加到onmouseoverSVG 组的事件
  • 如何隐藏图像的物理路径

    在我的应用程序中 我通过给出目录的物理路径来显示用户的图像 例如http www example com user images abcdefghijk jpg 但我不想向外部用户公开这个物理路径来访问直接文件 我想根据 gravtar 类
  • 如何在 scala 中将嵌套 JSON 转换为映射对象

    我有以下 JSON 对象 user id 123 data city New York timestamp 1563188698 31 session id 6a793439 6535 4162 b333 647a6761636b user
  • 如何从 hsearch 中删除元素

    我正在使用 GNU C 库提供的 hsearch r 函数 我发现虽然我可以使用 hsearch r 将元素添加到哈希表中并将操作作为 ENTER 传递 但我看不出有什么方法可以从哈希表中删除元素或条目 有人知道为什么会这样吗 我可以执行以
  • 使用 APP_INITIALIZER 延迟加载模块

    我们有一个应用程序 我们通过路由器延迟加载模块 我们需要在应用程序模块启动之前加载一些资源 但我们不想在路由器上使用解析 这就是为什么我们尝试创建一些提供程序工厂 APP INITIALIZER 来从服务器加载一些数据 然后在该延迟加载模块
  • 如何使 PopupWindow 居中?

    我创建了一个活动 其中添加了一个按钮 单击该按钮时会弹出一个弹出窗口 以下是 showPopup 方法的代码 private void showPopup LayoutInflater inflater LayoutInflater thi
  • Java:如何在单个线程中与多个客户端通信

    我有一个属于单个线程的套接字列表 但我想知道是否有一种可行的方式与这些客户端进行通信 读 写 我不想为每个客户端创建一个线程 因为可能有太多用户 并且为每个客户端创建一个线程可能成本太高 我想说蔚来是你最好的选择 查看有关通过套接字进行 N
  • 长时间运行的 ASP.NET 任务

    我知道有很多 API 可以执行此操作 但我也知道托管环境 ASP NET 对您可以在单独的线程中可靠地执行的操作设置了限制 我可能完全错了 所以如果我错了 请纠正我 但这就是我认为我所知道的 请求通常会在 120 秒后超时 这是可配置的 但
  • 当我的程序未激活时如何处理键盘快捷键?

    如果我像这样使用它可以用于多个事件吗 unit Unit4 interface uses Windows Messages SysUtils Variants Classes Graphics Controls Forms Dialogs
  • 性能随着数组元素嵌套的增加而降低

    简短说明 这个问题涉及另一个我之前问过的 但由于在一个问答中提出多个问题被认为是不好的 SO 风格 所以我将其分开 Setup 我有以下两种矩阵计算的实现 第一个实现使用matrix of shape n m 并且在 for 循环中重复计算
  • Dropzone 在 init 函数上添加 id 并排序

    我需要将现有图像的 ID 放入拖放区预览中 并能够将排序顺序发送到后端 我拥有的 获取现有图像 对图像进行排序 我需要的 添加图像 ID 进行预览 将排序顺序发送到后端 Code 代码的每个部分都带有注释 以便更好地理解 Dropzone
  • 在“模板基类”中调用模板方法时出错

    下面的代码无法编译 为什么呢 我该如何解决这个问题 struct A template
  • YouTube 数据 API 搜索不支持在日期之后发布

    我有这个查询 YouTube Search List search youtube search list id search setOrder viewCount search setMaxResults 50 search setPub
  • 在类路径上检测到 2 个 Spring WebApplicationInitializers

    我有一个 Spring Boot Web 应用程序 当我将其部署到 Tomcat 7 0 54 上的服务器上时 我在 catalina out 中收到以下消息 INFO 2 Spring WebApplicationInitializers
  • Android 应用程序在 NFC 标签中添加多个记录

    大家 我是开发android应用程序的初学者 目前我需要将一些数据写入NFC标签来检查我自己的NFC阅读器程序 但是 我可以尝试的那些应用程序只能将一条记录写入标签 这不匹配我要求里面有几条记录 最后有一个AAR记录 所以我想问一下是否有人
  • 使用mci发送字符串C++播放MP3

    我正在尝试在我正在做的一个项目中播放一些 mp3 文件作为背景音乐 我尝试使用 mcisendstring 播放它 但它无法工作 这些是我所做的 CMP3 MCI myMp3 std string address C Users music
  • Angular 在指令中应用类

    我有一个角度指令 它将生成引导程序表单组 查找 scope errors 来查找指令的 ng model 值以显示错误 下面的示例 我的html代码
  • C++/CLI 看似不合适的编译警告

    我正在使用与我的 Isis2 C NET 库对话的 C CLI 应用程序 在下面的代码中 我收到错误 警告 3 C4538 cli array 不支持此类型的 const 易失性限定符 我突出显示了引发此问题的行 我很困惑 它没有数组 也不