none
C++ 模板函数怎么返回数组引用,求教高人 RRS feed

  • 问题

  • template<class T>
    T* mixnum(vector<T>&a,T b,T c)
    {
     T Arrays[3]; /*这里也有问题*/
     for(int i=0;i<a.size();i++)
     {
      Arrays[i]=a[i];
     cout<<"i:"<<i<<Arrays[i]<<endl;
     }
     return Arrays; /*这个地方报错不让返回*/
    }
    int main()
    {
     int a;int b;
     vector<int>arr(3);
     for(int i=0;i<arr.size();i++)
     {
      arr[i]=i;
     }
     cout<<mixnum(arr,a,b);
    }
    2015年3月4日 8:02

答案

  • 我用VS 2013 初始化一下 a,b,运行你的代码是可以编译运行的,看截图:

    但从你标题来看好像你要的不是这个,看看这个:


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 Shu 2017 2015年3月16日 12:01
    2015年3月5日 8:46

全部回复

  • template<class T>
    T* mixnum(vector<T>&a,T b,T c)
    {
     T Arrays[3]; /*这里也有问题*/
     for(int i=0;i<a.size();i++)
     {
      Arrays[i]=a[i];
     cout<<"i:"<<i<<Arrays[i]<<endl;
     }
     return Arrays; /*这个地方报错不让返回*/
    }
    int main()
    {
     int a;int b;
     vector<int>arr(3);
     for(int i=0;i<arr.size();i++)
     {
      arr[i]=i;
     }
     cout<<mixnum(arr,a,b);
    }
    • 已合并 Shu 2017 2015年3月5日 8:13 duplicate
    2015年3月4日 8:02
  • 我用VS 2013 初始化一下 a,b,运行你的代码是可以编译运行的,看截图:

    但从你标题来看好像你要的不是这个,看看这个:


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 Shu 2017 2015年3月16日 12:01
    2015年3月5日 8:46