【问题标题】:C++/CLI 'ToInt32': is not a member of 'System::UInt32'C++/CLI 'ToInt32': 不是 'System::UInt32' 的成员
【发布时间】:2015-09-27 00:10:54
【问题描述】:

正如标题所说,我在尝试执行以下操作时遇到此错误...

DWORD nWritten = 0;
::WriteProcessMemory(GetCurrentProcess(), hookTarget, hookBytes, HLength, &nWritten);
Console::WriteLine(nWritten.ToInt32);

【问题讨论】:

  • 您的问题是针对 C++/CLI 的,与 C++ 无关。请适当地标记您的帖子。
  • 另外别忘了检查::WriteProcessMemory的返回码。

标签: c++-cli managed


【解决方案1】:

你只需要投DWORD:

System::Console::WriteLine((System::Int32)nWritten);

这里DWORD 是本机的,但您试图对其使用托管方法,但这是行不通的。

【讨论】:

    【解决方案2】:

    Chris O 的回答是正确的,在这种情况下最好直接投射。但是我只是想补充一下,如果您想将 ToInt32 用于无法直接转换的类型或任何其他转换,它是 Convert::ToInt32()。 Intellisense 会误导您认为您可以调用 MyVariable.ToInt32()。

    【讨论】:

      猜你喜欢
      • 2010-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-11
      • 1970-01-01
      • 1970-01-01
      • 2022-08-12
      • 1970-01-01
      相关资源
      最近更新 更多