Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Объявление массива 
:(
    Опции темы
Competitor
Дата 29.12.2005, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 23.3.2005
Где: Tula

Репутация: нет
Всего: -1



Как исправить ошибку: cannot define 'arr' as a member of managed 'Pole': mixed types are not supported. В следующем коде:
Код

#pragma once

ref class Pole
{
public:
    Pole(void);
    void CreatPole();
private:
    static const int row=10, col=10;
    int arr[row][col];
};

PM MAIL WWW   Вверх
Romikgy
Дата 29.12.2005, 17:28 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 8
Всего: 146



Код

class Pole
{
public:
    Pole();
    void CreatPole();
private:
    int arr[10][10];
};

Мож так?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
_hunter
Дата 29.12.2005, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 16
Всего: 98



а лучше так:
Код

class Pole
{    
public:    
    Pole(void);    
    void CreatPole();    
private:    
    static const int row=10, col=10;    
    int arr[row][col];    
};



--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Void
Дата 29.12.2005, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 40
Всего: 173



Если это все-таки C++/CLI, то:
Код
ref class Pole {
public:
    Pole() : arr(gcnew array<int, 2>(rows, cols)) { }
private:
    static int rows = 10, cols = 10;
    array<int, 2> ^arr;
};


Это сообщение отредактировал(а) Void - 29.12.2005, 17:49


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Competitor
Дата 29.12.2005, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 23.3.2005
Где: Tula

Репутация: нет
Всего: -1



Void, а как теперь обращаться к элементам этого массива? Допустим, как задать arr[4][7]=8;
PM MAIL WWW   Вверх
pam
Дата 29.12.2005, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 18.12.2005

Репутация: нет
Всего: нет



Или определить функцию с 2 параметрами (х, у), или класс "вектор" с функцией [], возвращающей ссылку + в классе "поле" функцию [], возвращающую ссылку на "вектор", чтобы можно было записать поле[х][у]

Код

class Pole
{
   public:
      set_cell(int, int);
...
   private:
      int **cell;
      int n_rows, n_cols; //или x_size, y_size
};


или

Код

class vector
{
   public:
      int &operator [](int x) { return row[x]; };
...
   private:
      int *row;
      int n_items; //кол-во эл-тов в "вектор"
...
};

class Pole
{
   public:
      int &operator [](int y) { return vector[y]; };
...
   private:
      vector *row;
      int n_rows; //кол-во "вектор"-ов
...
}


Удачи : )

Это сообщение отредактировал(а) pam - 29.12.2005, 21:30
PM MAIL   Вверх
Void
Дата 29.12.2005, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 40
Всего: 173



Цитата(Competitor @ 29.12.2005, 22:53)
Void, а как теперь обращаться к элементам этого массива? Допустим, как задать arr[4][7]=8;

arr[4, 7]=8;



--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0466 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.