比如stru_temp为一个已定义好的结构类型名称,mystrutype是一个字符串,
那么怎么实现用mystrutype代替stru_temp作类型来用?
谢谢各位大虾啦

解决方案 »

  1.   

    这个恐怕你要参考一下MFC的方法了,挺麻烦的!!
      

  2.   

    强制指针转换。不过小心会出错。
    stru_temp * ptemp = (stru_temp *)mystrutype;//mystrutype 为字符串指针。
    ptemp 就是指的该字符串了,但做修改是把它当作结构来修改的
      

  3.   

    typedef stru_temp mystructype
      

  4.   

    这个好象不能实现的,不过你可以定义一个函数来实现类型的转换
    switch(string)
    {
     case "mystrutype":
         stru_temp a
    }
      

  5.   

    sorry,我没有写清楚,我用的时候不能出现stru_temp,是这样的,我共有20多个结构,我并不知道用的是哪一个,只知道这个结构的类型名称被作为参数传了进来,我要通过这个参数来识别结构名(stru_temp放在mystrutype串里面),目的是用mystrutype作为类型来用。
      

  6.   

    看来只能写个转换程序用case来转换了
      

  7.   

    hailoo(海螺) ,你这样做。struct SHEADER
    {
      int nMode;  
    };struct SS1 : public SHEADER
    {
      SS1() { nMode = 1;};  ....
    };struct SS2: public SHEADER
    {
      SS2() { nMode = 2;};
     .....
    };到时候就是一个LPVOID 指针传入!LPVOID pvoid然后就转一下,
    SHEADER *pHeader = (SHEADER *)pvoid; switch(pHeader.nMode)

      case 1:  case 2:
     
    }就可以了嘛...
      

  8.   

    使用 memcpy,浪费点空间
    但快且稳定