mshd.net
当前位置:首页 >> C++voiD*类型转换问题 >>

C++voiD*类型转换问题

#include void main(void) { char ch = '#'; // p只是一个指针,本身存储的是你要存数据的地址, // 你不提供它空间,怎么存储数据? void *p = (void*)&ch; *((char*)p)='c'; // 不能直接输出*p,因为没有对void数据的插入符

void* 可以转成任意指针 byte[] 实际等效于byte* 所以转成byte*就可以了 byte* pbuff = (byte*)buffer; 指针指向的数据长度都是不知道的,要外部告知 如果实在必须是一个数组,有长度的情况下,可以 byte pbuff[len]; memcpy(pbuff, buffer, len...

为什么要这样转换? 这两个类型不相干啊,强制转换成功也是问题!说清楚你想实现的最终目的,好与你一起分析

v_1没有分配内存,当然会报错了,修改: void main(){ v_1=(void*)new int; *((char*)v_1)='c';//通过编译了,但运行报错。 }

void open(const char* filename,int mode,int access); 看这个函数的定义,返回值类型为void,故不能用在if判断中,把if去掉吧,这是C++不是C

void类型: void类型其实是一种用于语法性的类型,而不是数据类型,主要用于作为函数的参数或返回值,或者定义void指针,表示一种未知类型。 作为函数参数与返回值: void func( void ); void func( ); 例如上面两例,其实两种声明方式是等效的,...

一般这个定义用在形参 或实参传递上 表示,这个指针为任意类型指针 如: int comp( void *a, void *b) { if ( *a > *b ) return 1; if ( *a==*b) return 0; return -1; } 调用: int a,b; a=3,b=5; printf("%d", comp( (void*)&a, (void *)b) );...

如果你的 G函数的参数就想是个函数指针的话, 应该写成下面这种形式, 而不是使用 void* int G(int (*)(int)); 然后你就可以 G(F) 调用了. 如何把void*转换成函数指针: int G(void * f){ int value = 10; ((int (*)(int))f)(value); // 我觉得这样...

void* 的意思是这是一个指针,你可以在函数中将这个指针转换为任何一个数据结构的指针。 可以说void*功能是相当强大的。 例如,在你设计模块间接口时,暂时无法判定传参类型。 就可以通过void*传入,在函数中将指针转化你需要的类型就可以了。

使用 void *pInfo = (void*)(new char[length]);即可。 1.new的作用是从自由存储为 类 的对象或对象数组分配内存,并将已适当分类的非零指针返回到对象。 比如:char * pchar= new char[10]; delete pchar; 例子中动态分配了10个char类型的内存...

网站首页 | 网站地图
All rights reserved Powered by www.mshd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com