1
我在想,如果铸造这里是最好的解决办法:在这里铸造最好的解决方案吗?
这是函数原型:
void function(unsigned char * data)
这是我打算如何使用它(nSize
从读):
unsigned int nSize = 15;
function((unsigned char*) &nSize);
我在想,如果铸造这里是最好的解决办法:在这里铸造最好的解决方案吗?
这是函数原型:
void function(unsigned char * data)
这是我打算如何使用它(nSize
从读):
unsigned int nSize = 15;
function((unsigned char*) &nSize);
假设函数原型设置为石头和nSize必须是一个int,是的,这看起来是正确的。
是的,就你而言,演员似乎是必要的。
请注意,使用C++风格的命名转换优于C风格转换。在你的情况下,reinterpret_cast
是正确的选择。请注意,这是一种危险行为,详情请参阅here。
function(reinterpret_cast<unsigned char*>&nSize);
由于问题中的(非常有限)信息,答案只能是:是的,您需要投射。更大的问题是*为什么*你需要将一个指向一个整数的指针传递给一个指向一个字符的函数? –
使用这种不兼容指针的动机是什么? –
您还可以将函数定义为函数(void * data),并在其中定义类型。顺便说一句你期待的结果是什么? – aisbaa