赋值从没有强制转换C的整数中生成指针

use*_*403 4 c linux

我正在使用一个结构

typedef struct ObjectHandle
{
    long *objHandle;
}ObjectHandle ;
Run Code Online (Sandbox Code Playgroud)

输出是此结构的值的函数

AllocateObject(ObjectHandle* objectHandle) 
{
   .... 
   ...
   ...
   objectHandle->objHandle = some long value;
}
Run Code Online (Sandbox Code Playgroud)

但是编译器正在发出警告:赋值从整数中生成指针而没有强制转换

请帮忙

Iva*_*hek 7

好像你将值分配给值(内存),而不是指针(地址)

试试这个: *(objectHandle->objHandle) = some long value;

  • 你之前为objHandle分配了内存吗? (2认同)