Ожидаемый неквалифицированный идентификатор перед числовой константой?

Я получаю ошибки в строках 102, 115, and 128, Что я делаю неправильно? Это говорит:

Ожидаемый неквалифицированный идентификатор перед числовой константой

и я не знаю, что это значит. Я пытался исправить это в течение недели, и это должно произойти в моем классе C ++ в эту среду. Я мог бы действительно использовать некоторые внешние советы здесь. Что я делаю неправильно:

#include <iostream>
#include <fstream>
#include <iomanip>
#include <conio.h>
#include <string>

using namespace std;

double qMeter = 0;
double hMeter = 0;
double oneMeter = 0;
int solDay = 0;
string garbage;
string localTime;
string decSol;
ifstream input;
ofstream output;

//function prototypes
double low(double lowTemp);
double high(double highTemp);
float average(double avgTemp);

int main()
{

input.open("curiosity234x.dat"); //opens input data file
output.open("output.dat"); //opens output data filefor (int i = 0; i < 4; i++) //gets rid of the first four lines
{
getline(input,garbage);
cout << endl;
}

while (!input.eof())
{
int count;
double newOneMeter;
double newHMeter;
double newQMeter;

if (solDay == 2) //processes data for the second solar day
{
input >> solDay >> localTime >> decSol
>> newOneMeter >> newHMeter >> newQMeter;

oneMeter = oneMeter + newOneMeter;
hMeter = hMeter + newHMeter;
qMeter = qMeter + newQMeter;
count++;

output << solDay << fixed << setprecision(1) << setw(5)
<< "Solar" << "Average" << "Low" << "High"<< "Average" << "Low" << "High"<< "Average" << "Low" << "High"<< "Day" << "Temp" << "Temp" << "Temp" << "Temp" << "Temp"<< "Temp" << "Temp" << "Temp" << "Temp"<< fixed << setprecision(15) << "1 meter" << ".5 meters"<< ".25 meters"<< average(oneMeter) << low(oneMeter) << high(oneMeter)
<< average(hMeter) << low(hMeter) << high(hMeter)
<< average(qMeter) << low(qMeter) << high(qMeter);
}

if (solDay == 3) //processes data for the third solar day
{
input >> solDay >> localTime >> decSol
>> newOneMeter >> newHMeter >> newQMeter;

oneMeter = oneMeter + newOneMeter;
hMeter = hMeter + newHMeter;
qMeter = qMeter + newQMeter;
count++;

output << solDay << fixed << setprecision(1) << setw(5)
<< "Solar" << "Average" << "Low" << "High"<< average(oneMeter) << low(oneMeter) << high(oneMeter)
<< average(hMeter) << low(hMeter) << high(hMeter)
<< average(qMeter) << low(qMeter) << high(qMeter);
}
}

cout << endl << "The output.dat file has been written and transmitted.";
/*
reads first line. Assigns first string to 'int solDay'
second to 'string time', third to decSol, fourth to oneMeter,
fifth to hMeter and sixth to qmeter. Meters should have setw().
*/
getch();
return 0;

input.close();
output.close();
}//functions used in main
double low(double lowTemp)
{
int test = 10,000;
double least;

if (lowTemp < test)
{
lowTemp = test;
lowTemp = least;
}
return least;
}

double high(double highTemp)
{
int test = 10,000;
double most;

if (highTemp < test)
{
highTemp = test;
highTemp = most;
}
return most;
}

float average(double avgTemp)
{
avgTemp = avgTemp / count;
return avgTemp;
}

4

Решение

Ошибки в строке 102 и 115 связаны с тем, что у вас есть запятая в 10,000, но это должно быть 10000, запятая не может использоваться в качестве числового разделителя. То, что вы на самом деле используете оператор запятой который оценивает его выражения из слева направо и возвращает только последний. Итак, в этом случае:

int test = 10,000;
^  ^
|  Expression 2
Expression 1

поскольку = имеет более высокий приоритет, это происходит первым, и у вас остается синтаксическая ошибка, с другой стороны:

int test = (10,000);

привел бы к значению 10 отбрасывается и восьмеричный буквальный 000 быть назначенным на test,

Последняя ошибка в строке 128 связана с тем, что счетчик является локальным для main но вы пытаетесь использовать его в averageнужно пройти count как второй параметр.

4

Другие решения

Я искал эту ошибку, когда столкнулся с ней. Причина моих неприятностей? Я пытался дать классу то же имя, что и значение #define, которое было включено в мой проект из стороннего заголовка API. Пробуя другое имя класса, я получил его для компиляции!

6

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector