创建一个模板函数,如果数据类型不同,则添加数组的元素

Create a template function that adds the elements of and array if different data types

本文关键字:数据类型 添加 元素 数组 如果 创建 一个 函数      更新时间:2023-10-16

我试图在c++中创建一个模板函数,该函数返回不同数据类型数组的元素之和。我有问题,当我试图得到我的结果。我在内存中打印出一个地址(我猜)。这是我在c++中的最后一次作业,所以请在这里提供一些帮助;-)这是我目前所看到的:

template <class T>
int sum(T array, int size)
{
  int i;
  int result;
  for(i = 0; i < size; ++i)
{
    result += array[i];
} 
  return result; 
}

和我的main()看起来像

int main()
    {
    cout << "Printing Array sum..." << endl;
    len = sizeof(intArr) / sizeof(int);
    //len = sizeof(strArr) / sizeof(int);
    cout << sum(intArr, len)<<endl;
    //cout << sum(strArr, len)<<;

    return 0;
    }

我在命令行中的输出是一个随机数请提示或帮助如何解决这个

您没有在sum中初始化result,因此它包含堆栈垃圾。然后将array中的所有内容添加到堆栈垃圾中,这将为您提供垃圾。