日期:2014-05-17  浏览次数:21270 次

C# 中byte* 如何进行 + 运算
fixed (byte* numRef = this._castedRefStream.GetBuffer())
            {
                byte* pointer = numRef + ((byte*)position);
                local.CastStructure(pointer);
            }

红色代码行出错,
错误 113 运算符“+”无法应用于“byte*”和“byte*”类型的操作数
c# byte*

------解决方案--------------------
改为:

byte* pointer = numRef + position;

------解决方案--------------------
偏移量只能是整形,或者:

byte* pointer = numRef + (int)position;
------解决方案--------------------
指针不能和指针相加,指针可以和整形相加

byte* pointer = numRef + position;

不过这种代码还是不要用C#写,换C++更好