【发布时间】:2017-02-13 17:03:07
【问题描述】:
这种从 unsigned char* 到 unsigned short 的转换是如何完成的?
#include<iostream>
using namespace std;
int main()
{
unsigned short x;
x= (unsigned char*)&x - (unsigned char*) 0x8888;
cout<<us<<endl;
return 0;
}
当我尝试像这样添加时
x= (unsigned char*)&x + (unsigned char*) 0x8888;
然后出现错误。它说“'unsigned char*'和'unsigned char*'类型的无效操作数到二进制'operator+'”请帮助我理解这个语法。
【问题讨论】:
-
你为什么要这样做?
-
您的代码中没有从
unsigned char *到unsigned short的转换。减法的优先级高于赋值。
标签: c++