用参数或者使用 vector类
返回两个不同类型的值吗使用变体类型variant

解决方案 »

  1.   

    声明:
    BOOL GetVar(CString &strVar,DWORD &dwVar);定义:
    BOOL GetVar(CString &strVar,DWORD &dwVar)
    {
    if((&strVar)&&(&dwVar))
    {
    strVar=m_strVar;
    dwVar=m_dwVar;
    return TRUE;
    }
    else
    return FALSE;
    }
      

  2.   

    //若在MFC下可以使用CPtrList之类的对象:
    //简单例子
    声明:
      CPtrList &GetVar();
      
    定义:
      CPtrList &GetVar()
      {
      ASSERT(&m_PtrList)//或其他条件判断
      {
        return  m_PtrList;
      }
      }
     
      

  3.   

    extern x_struct ;
    extern y_struct ;
    //返回一个数组
    BYTE * GetStore()
    {
       x_struct * p=new  x_struct[100];
       return (BYTE *)p;          
    }
    //返回两个结构
    BYTE *GetTwoStruct()
    {
       BYTE * buff=new BYTE[sizeof(x_struct)+sizeof(y_struct)];
       x_struct *x=(x_struct *)buff;
       y_struct *y=(y_struct *)(x+1);
       //对x赋值
       x->member1=...;
       x->member2=...;
       //对y赋值
       y->member1=...;
       y->member2=...;
       return buff;
    }
    用完后将p和buff删掉(delete).