Я не уверен, почему несовместимый инициализатор не совместим с типом параметра int - PullRequest
0 голосов
/ 18 апреля 2019

По сути, я хочу отобразить свои результаты тестов и их среднее значение, но я не могу из-за этих ошибок

Я пытался взять пустое отображение, поместить его в класс и объявить его вглавное, но это не сработало

#include <iostream>
#include <string>

using namespace std;

class TestScore 
{
public:
    TestScore() {};
    TestScore(int arr[], int SIZE) {};
    void testAvg(int arr[], int SIZE);
    void displayArray(int arr[], int Size);

};
void TestScore::testAvg(int arr[], int SIZE)
{
    int sum = 0;
    for (int i = 0; i < SIZE; i++)
    {
        sum = sum + arr[i];
        try
        {
            if ((arr[i] > 100) || (arr[i] < 0))
            {
                throw(1);
            }
        }
        catch (int n)
        {
            cout << "Error" << endl;
        }
    }

    int average = sum / SIZE;


}

void TestScore::displayArray(int arr[], int SIZE)
{
    for (int i = 0; i < SIZE; i++)
    {
        cout << arr[i] << endl;
    }
}
void main()
{
    const int SIZ = 5;
    int Grade[SIZ] = { 89,65,99,100,81 };

    TestScore T(int Grade, int SIZ);
    T(Grade, SIZ).testAvg(Grade, SIZ);
    T(Grade, SIZ).displayArray(Grade, SIZ);
    system("pause");
}

Я ожидаю, что оно будет отображать среднее значение моего балла, поэтому в основном я хочу, чтобы отображался массив из 5 тестовых баллов, а затем их среднее значение.

1 Ответ

0 голосов
/ 18 апреля 2019

TestScore T(int Grade, int SIZ); объявляет функцию с именем T, принимающую два параметра типа int.Затем вы вызываете эту функцию, передавая параметр типа int[5], а не int.Отсюда и сообщение об ошибке.

Кроме того, эта функция нигде не реализована.Честно говоря, я не понимаю, что вы пытаетесь сделать с этим объявлением функции;это не имеет большого смысла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...