今日在搞一个问题时,用到了void * 类型,在此记录一下

问题大致描述:以void * 类型为参数的函数应该怎么使用

void Problem(void*  user_data);

今日报错系列:void * 类型的函数形参,该如何使用
以下以传共享指针为例:代码很简单,耐心看完。
注意两点:下面代码的两个长注释

#include <iostream>using namespace std;class StopMyDate {public:    string aaa;    string bbb;    string ccc;};void sss(void*  user_data){    // 注意该处:类似于 *((int*)user_data)   /***************注意1*************/    auto m_user_data = *((shared_ptr<StopMyDate>*)user_data);    string aa = m_user_data->aaa;    cout << "m_user_data->aaa : " << aa.c_str() << endl; //测试是否正确}int main(){    shared_ptr<StopMyDate>stopMyDate(new StopMyDate); // 定义一个共享指针,类型stopMyDate    // 给成员赋值    stopMyDate->aaa = "aaaaa";    stopMyDate->bbb = "bbbbb";    stopMyDate->ccc = "ccccc";    // 此处调用,需注意添加(void*)  /***************注意2*************/    sss((void *)&stopMyDate);    return 0;}

输出:

m_user_data->aaa : aaaaa

更多相关文章

  1. C语言中的数据类型及其转换详解
  2. 类型_Haskell笔记3
  3. Spring IoC 依赖注入(支持哪些数据类型?)
  4. c语言数据类型(初学)
  5. pgsql 修改字段类型为json
  6. MyBatis之Mapper XML 文件详解(四)-JDBC 类型和嵌套查询
  7. BigDecima类型数据的处理--Non-terminating decimal expansio
  8. 五分钟学会java中的基础类型封装类
  9. 面试必问:String类型为什么设计成不可变的?

随机推荐

  1. JS判断客户端类型(ipad,iphone,android)
  2. Android 简单的账号密码登陆界面(IO流)
  3. Android Studio 环境问题
  4. Android 开发系列 2 Activity
  5. 为Android软件创建快捷方式
  6. Android中OnScrollListener的详解(Listvie
  7. 升级android studio至3.3.2出现WARNING:
  8. Android(安卓)颜色大全 colors.xml
  9. MTK Android Driver :sensor
  10. android 全面讲解BroadCastReceiver