VC里的this在C里是怎么写? 函数opendevise(COMM, (LPVOID)POSTCallBack, (LPVOID)this)是DLL库中的函数在VC下的调用方式,在C里第三个参数This怎么写? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你把你的this代表的对象名写上应该可以吧! this指针只有C++才有啊,C语言里面没有this指针。这个要看opendevise这个函数怎么实现了,如果它回调的是类的方法的话,如 this->*POSTCallBack(),这个函数就无法在C语言里面调用,只能在C++里面使用。 类是C++中的概念,C里面没有类,自然也就没有this。 一个提供给回调函数用的数据指针而已,如果你在回调函数的实现中需要用到自己定义的数据,把用到的数据取址传进去就是了(有多个数据的话就封装到一个结构中,传该结构体的址),如果不需用到自己定义的数据,传NULL就行。 struct tag//原理大概是这样{ int a; int b; tag* this_i;//直接写this命名vc通不过,用它替代 void opendevise(int ddd, void*, void*){};};tag t;t.this_i = &t;==============================================但是楼主显然搞混了概念,虽然你也可以在c里实现this指针的功能 this像是一个智能指针。C是没有的~~~ 第三个参数你应该可以填NULL。 一个函数大家一般写多少行? 七彩俄罗斯方块 CImageList如何在中间插入一个位图 mfc中如何调用defwindowpro 如何取得文件夹的访问权限? 关于TVITEM 结构中的pszText windows 资源管理器里的详细资料的界面显示是怎么实现的? mfc opengl 绘图只显示一半是怎么回事啊??请高手帮忙看看。 真的高手请进来/高分想送 ocx自动下载问题 不太理解Telnet 的 Echo选项,高手进来帮忙 关于 对话框捕获keydown 消息的问题。?。。。。。
如 this->*POSTCallBack(),这个函数就无法在C语言里面调用,只能在C++里面使用。
struct tag//原理大概是这样
{
int a;
int b;
tag* this_i;//直接写this命名vc通不过,用它替代
void opendevise(int ddd, void*, void*){};
};
tag t;
t.this_i = &t;==============================================
但是楼主显然搞混了概念,虽然你也可以在c里实现this指针的功能
C是没有的~~~