我想接收一个 DWORD 类型的变量,它将包含地址指针 float *。
如果我这样写:
float *Object = 5;
std::cout << &Object;
它准确地给出了我想要的值(即:0F235C1A
)。
你能告诉我如何将这个值分配给 DWORD 以便在我的内存写入函数中使用它吗?
尝试:
DWORD ObjAddress = &Object;
我遇到编译器错误:无法从“float *”转换为“DWORD”
最佳答案
我不明白你的对象定义:
float *Object = 5;
5应该是地址吧?一个值?
看看下面的代码,也许就是你想要的。
float Object = 5;
int ObjAddress = (int)&Object;
cout << "object adr1: "<< hex << &Object << endl;
cout << "object adr2: "<< hex << ObjAddress << endl;
输出
object adr1: 0x28ff08
object adr2: 28ff08
或者当你真的需要对象作为指针时
float value = 5;
float *Object = &value;
int ObjAddress = (int)&Object;
cout << "object adr1: "<< hex << &Object << endl;
关于C++ 分配一个变量指针地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31049049/