* 运算符必须应用于指针
The * operator must be applied to a pointer
出现错误:
The * opertaor must be applied to a pointer
public static void SetClass(decimal Value, string input)
{
Utils.SetMemory(Offsets.ClassName, new byte[16]);
byte[] Multiplier = new byte[] { 0x04 };
byte[] inputBytes = Encoding.ASCII.GetBytes(input);
Utils.SetMemory(Offsets.ClassName + ((uint)Value - 1 + * 0x10), Utils.Multiply(inputBytes, Multiplier));
}
如果我删除“*”前面的“+”,它会显示
cannot convert from long to uint
如果转换它是解决方案,我该怎么做?
自定义 numericUpDown 需要这个
Utils.SetMemory(Offsets.ClassName + ((uint)numericUpDown1.Value - 1) * 0x10, "Classes");
想像这样调用方法
Stats.SetClass(numericUpDown Here.Value, text string here);
我是 C# 新手
编辑
public static void SetMemory(uint Offset, byte[] value)
{
PS3.SetMemory(Offset, value);
}
看这部分(uint)Value - 1 + * 0x10
。您没有遵循加法和乘法的数学规则,+
或 *
需要两个操作数。您没有提供两个操作数。这里 + * 0x10
有两个运算符彼此相继,这会导致问题。如果要将 0x10
添加到先前的结果中,请删除 *
,如果要乘以 0x10
,请删除 +
.
cannot convert from long to uint.
错误的问题是可能Offsets.ClassName
变量是long
或Int64
类型,结果Offsets.ClassName + ((uint)Value - 1 * 0x10)
语句很长,因为 ((uint)Value - 1 * 0x10)
的结果是 uint
,而当您有 long + uint
时,结果类型将是 long
。现在您想将一个 long 变量传递给接受 uint
的函数,这会导致错误,因为没有从 long
到 uint
.
的隐式转换
出现错误:
The * opertaor must be applied to a pointer
public static void SetClass(decimal Value, string input)
{
Utils.SetMemory(Offsets.ClassName, new byte[16]);
byte[] Multiplier = new byte[] { 0x04 };
byte[] inputBytes = Encoding.ASCII.GetBytes(input);
Utils.SetMemory(Offsets.ClassName + ((uint)Value - 1 + * 0x10), Utils.Multiply(inputBytes, Multiplier));
}
如果我删除“*”前面的“+”,它会显示
cannot convert from long to uint
如果转换它是解决方案,我该怎么做?
自定义 numericUpDown 需要这个
Utils.SetMemory(Offsets.ClassName + ((uint)numericUpDown1.Value - 1) * 0x10, "Classes");
想像这样调用方法
Stats.SetClass(numericUpDown Here.Value, text string here);
我是 C# 新手
编辑
public static void SetMemory(uint Offset, byte[] value)
{
PS3.SetMemory(Offset, value);
}
看这部分(uint)Value - 1 + * 0x10
。您没有遵循加法和乘法的数学规则,+
或 *
需要两个操作数。您没有提供两个操作数。这里 + * 0x10
有两个运算符彼此相继,这会导致问题。如果要将 0x10
添加到先前的结果中,请删除 *
,如果要乘以 0x10
,请删除 +
.
cannot convert from long to uint.
错误的问题是可能Offsets.ClassName
变量是long
或Int64
类型,结果Offsets.ClassName + ((uint)Value - 1 * 0x10)
语句很长,因为 ((uint)Value - 1 * 0x10)
的结果是 uint
,而当您有 long + uint
时,结果类型将是 long
。现在您想将一个 long 变量传递给接受 uint
的函数,这会导致错误,因为没有从 long
到 uint
.