void CDataDict::GetAllTableDsp(CStringArray& )

解决方案 »

  1.   

    CStringArray好像是不支持拷贝构造函数的,所以你应该用CStringArray的引用,比如你的程序吧,可以改为这样:
    void CDataDict::GetAllTableDsp(CStringArray &rArray)
    {
      ....
      rArray.Add(...);
      ...
    }
    然后在调用该函数时加一个CStringArray的对象做参数就可以了.
      

  2.   

    用指针返回,CStringArray *fun()
    {
    return &strtemp;
    }
      

  3.   

    你需要自己定义一个copy构造函数用以处理赋值,比如你的这条语句
    strSQL="SELECT DISTINCT TableDsp FROM Dictionary";
    "SELECT DISTINCT TableDsp FROM Dictionary"为一char*类型,由于Class不能直接用=赋值,不能直接赋值给CStringArray.
    或者你也可以重载=操作符。用以处理赋值。
      

  4.   

    CXXArray系列类都没有拷贝构造函数,建议返回引用
    .h
    CStringArray & GetAllTableDsp();
    .cpp
    CStringArray & CDataDict::GetAllTableDsp()
    {
    ...
    }
      

  5.   

    用引用吧,程序效率还高,要不你可以用模版,不用考虑Copy构造函数.