내 함수의 값을 저장하는 참조 변수에 문제가 있습니다. 이 코드가 어디서 잘못됩니까?C++에서 값을 반환하지 않는 참조 변수
//Loads temperature from a disk file and outputs them to the screen
#include <iostream>
#include <iomanip>
#include <fstream>
#include <string>
#include "myHeader.h"
using namespace std;
//Function prototypes
void minMax (int mean[], int size, int &, int &);
//Declare Global variables
string userFile; //variable for user input of file
string date; //variable for inputFile date
int low; //variable for inputFile low
int high; //variable for inputFile high
double sumLow = 0.0; //variable to hold sum of low temps
double sumHigh = 0.0; //variable to hold sum of high temps
ifstream inputFile;
const int ARRAY_SIZE = 31;
int lowTemp[ARRAY_SIZE];
int highTemp[ARRAY_SIZE];
//Accumulators
int min = 200;
int max = 0;
int count = 0;
int minTemp = 0;
int maxTemp = 0;
int main()
{
//Call the heading function
heading(8, 'A');
//Prompt user to enter a file
cout << "What file do you want to open for input? ";
cin >> userFile;
cout << endl;
inputFile.open(userFile);
minMax(lowTemp, ARRAY_SIZE, minTemp, maxTemp);
//Close the file
inputFile.close();
return 0;
}
//******************************************
//Definition of function minMax
//******************************************
void minMax (int mean[], int size, int & min, int & max)
{
for (int i = 0; (i < ARRAY_SIZE) && (inputFile >> date >> low >> high); i++)
{
lowTemp[i] = low;
highTemp[i] = high;
count = i;
sumLow += lowTemp[i];
sumHigh += highTemp[i];
if (lowTemp[i] < min)
{
min = lowTemp[i];
}
if (highTemp[i] > max)
{
max = highTemp[i];
}
minTemp = min;
maxTemp = max;
}
cout << "array size " << count + 1 << " array low " << minTemp << " array high " << maxTemp << endl << endl;
cout << endl << count + 1 << " " << sumLow << " " << sumHigh << endl;
}
프로그램이 컴파일되고 어떤 파일을 열 것인지 묻습니다. 나는 파일을 입력하고 리턴한다.
배열 크기 31 어레이 로우 0 어레이 높은 91
31 1,831 2,602
배열 높음 올; 그러나 파일에 따라 배열 low는 34가되어야합니다. 낮은
[SSCCE] (http://sscce.org)와 함께 해 보셨습니까? 일반적으로 StackOverflow에 코드를 덤핑하고 사람들에게 디버깅을 요청하는 것은 눈살을 찌푸리게합니다. 몇 줄만 입력해도 문제를 재현 할 수 있어야합니다 (예 : 입력을 읽지 않아도 됨 (테스트 케이스를 하드 코딩) 또는 크기/높은 계산). 종종 이것을하면 어쨌든 스스로 문제를 해결할 수 있습니다. –