【发布时间】:2016-08-24 01:09:11
【问题描述】:
我在使用 C++ 程序时遇到问题。它一直给我一个运行时错误#2 - S。它构建得很好。它构建良好。 Main 应该调用另外两个函数,一个将整数放入数组中,另一个将数组中数字的位置反转,本质上是创建一个“反转”数组。
#include "stdafx.h"
#include <iostream>
#include <array>
using namespace std;
void storeArray(int[], int);
void flipArray(int[], int);
int main()
{
const int arraysize = 10;
int foo[arraysize]; // everyone seems to use foo so I thought I'd try it
storeArray(&foo[arraysize], arraysize);
cout << endl;
flipArray(&foo[arraysize], arraysize);
return 0;
}
void storeArray(int foo[], int arraysize)
{
int counter;
counter = 0;
while (counter < arraysize)
{
cout << "Enter number " << (counter+1) << " : ";
cin >> foo[counter]; counter++;
}
return;
}
void flipArray(int foo[], int arraysize)
{
int counter2;
int counter3;
counter2 = 0;
counter3 = 9;
for (counter2; counter2 <= 9; counter2++)
{
cout << "Value number " << (counter2 + 1) << " is " << foo[counter3] << endl;
counter3--;
}
cout << endl;
return;
}
任何帮助将不胜感激。谢谢!
【问题讨论】:
-
您将数组末尾的地址传递给您的函数,请使用
storeArray(foo, arraysize);和flipArray(foo, arraysize);。
标签: c++ arrays pass-by-value