request for member ' ', which is of non-class type ' ' при вызове функции в main'е

Сперва изложу суть задачи: Создаю класс матрицы, в которой каждым элементом является структура комплексных чисел. Размер у матрицы фиксированный, для этого ввожу постоянные переменные.

Добавляю функции для ввода и вывода матрицы, описываю, вызываю в main'e. И здесь, собственно, появляется проблема, потому что при вызове обеих функций появляется ошибка request for member ' ', which is of non-class type ' '

#include <iostream>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>

using namespace std;

#define nmax 4
#define mmax 2 // задаю размеры матрицы

struct comp 
{
    double re, im;
}; // непосредственно к проблеме не относится -- создал структуру комплексных чисел

class matr
{
    comp base[nmax][mmax];    
public:
    void input();
    void print();  
};

// функция для ввода матрицы, с вызовом которой потом будут проблемы
void matr::input()
{
    cout << "Insert matrix of " << 2 << " and " << 4<< " respectively: " << endl;
    int j, i; 

    for (i = 0; i < nmax; i++)
        for (j = 0; j < mmax; j++)
        {
            cout << "Insert real and imaginary part: " << endl;
            cin >> base[i][j].re;
            cin > >base[i][j].im;
        }
}


// функция для вывода матрицы, при вызове выпадет та же ошибка
void matr::print()
{
    cout << "Outputting matrix: " << endl;
    for (int i = 0; i < nmax; i++)
        for (int j = 0; j < mmax; j++)
        {
            cout << base[i][j].re << " + " << base[i][j].im << "i ";
            cout << endl;
        }
}

int main(void)
{
    matr a[nmax][mmax];

    a.input(); //error: request for member ‘input’ in ‘a’, which is of non-class type ‘matr [4][2]’
    a.print(); //error: request for member ‘print’ in ‘a’, which is of non-class type ‘matr [4][2]’

    return 0;
}

Просмотрел большое количество статей с такой же ошибкой, в нескольких из них предлагали убрать () после вызова функций -- не помогло, абсолютно ничего не изменилось.

Что я делаю не так?


Ответы (0 шт):