Форум программистов, компьютерный форум CyberForum.ru

класс матрица - C++

Восстановить пароль Регистрация
 
c__
0 / 0 / 0
Регистрация: 16.03.2013
Сообщений: 8
26.10.2013, 00:09     класс матрица #1
Пытаюсь сделать класс матрица. Т.к. для определения массива в с++ нужны static const, а матрица может быть произвольной, было принято решение использовать vector. Такая штука
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <vector>
#include <iostream>
 
using namespace std;
 
int main()
{
    int n,m;
    cin >> n >> m;
    vector< vector<int> > matrix(n, vector<int> (m,0));
    for(int i=0; i<n; i++)
        for (int j=0; j<m; j++)
        {
            cout << "a[" << i << "][" << j << "]\n";
            cin >> matrix[i][j];
        }
    for(int i=0; i<n; i++)
        for (int j=0; j<m; j++)
        {
            if ((j + 1) == m) 
                cout << matrix[i][j] << endl;
            else
                cout << matrix[i][j] << " ";
        }
}

спокойно компилируется и работает. Но на это
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#ifndef MATRIX_H_
#define MATRIX_H_
 
#include <vector>
 
class Matrix {
  private:
    int n,m;
    std::vector< std::vector<int> > matrix(n, vector<int> (m, 0));
  public:
    Matrix();
    void show();
};
 
#endif

g++ ругается:
matrix.h:9:44: error: ‘n’ is not a type
std::vector< std::vector<int> > matrix(n, vector<int> (m, 0));
^
Объясните, пожалуйста, почему так нельзя.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2013, 00:09     класс матрица
Посмотрите здесь:

C++ класс матрица
C++ Класс Матрица
Класс Матрица C++
с++ класс матрица C++
Класс матрица C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
__Александр__
7 / 10 / 0
Регистрация: 17.09.2012
Сообщений: 191
Записей в блоге: 2
26.10.2013, 10:19     класс матрица #2
http://cppstudio.com/praktikum/sborn...lassa-matrica/
c__
0 / 0 / 0
Регистрация: 16.03.2013
Сообщений: 8
28.10.2013, 15:31  [ТС]     класс матрица #3
Цитата Сообщение от __Александр__ Посмотреть сообщение
Хотелось с вектором сделать. Видимо придется так. Спасибо!
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
28.10.2013, 16:03     класс матрица #4
Цитата Сообщение от c__ Посмотреть сообщение
Объясните, пожалуйста, почему так нельзя.
Потому что компилятор думает, что matrix это функция.
Сделайте так:
C++
1
std::vector< std::vector<int> > matrix;
а заполнение нулями - в конструкторе.
Yandex
Объявления
28.10.2013, 16:03     класс матрица
Ответ Создать тему
Опции темы

Текущее время: 03:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru