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

указатель на экземпляр шаблонного класса - C++

Восстановить пароль Регистрация
 
FoKas
0 / 0 / 0
Регистрация: 04.05.2011
Сообщений: 13
20.11.2011, 18:00     указатель на экземпляр шаблонного класса #1
имеется такой класс
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
template <class Coord>
class Elem
{
 private:
  const Coord x, y;
  Elem *Prev;
  bool check;
 public:
  friend class stack;
  Elem (int x_, int y_): x(x_),y(y_){Prev = NULL;}
  void Check (void){check = true;}
  void set_Prev (Elem *p){Prev = p;}
  Elem *get_Prev (void){return Prev;}
};
C++
1
2
3
4
void main(void)
...
Elem<int> *Step(x,y); //тут ошибки
...
[C++ Error] Unit1.cpp(76): E2034 Cannot convert 'int' to 'Elem<int> *'
[C++ Error] Unit1.cpp(76): E2293 ) expected


Делается в консоли в BCB 6. Помогите понять в чём косяк((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2011, 18:00     указатель на экземпляр шаблонного класса
Посмотрите здесь:

Возможно ли создание объекта шаблонного класса в функции этого класса? C++
C++ Работа с классами (в главном классе создать указатель на экземпляр другого класса)
Функция указатель на класс, определенный внутри шаблонного класса C++
Обращение к методам класса через указатель на экземпляр класса C++
C++ Указатель на экземпляр шаблонного класса
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Bers
Заблокирован
20.11.2011, 18:05     указатель на экземпляр шаблонного класса #2
Цитата Сообщение от FoKas Посмотреть сообщение
Elem<int> *Step(x,y); //тут ошибки
А что означают аргументы в скобочках?
Вы считаете, что это нормально, пытаться для указателя вызвать конструктор, как для объекта?
Так и должно быть?
FoKas
0 / 0 / 0
Регистрация: 04.05.2011
Сообщений: 13
20.11.2011, 18:12  [ТС]     указатель на экземпляр шаблонного класса #3
Цитата Сообщение от Bers Посмотреть сообщение
А что означают аргументы в скобочках?
Вы считаете, что это нормально, пытаться для указателя вызвать конструктор, как для объекта?
Так и должно быть?
справедливо))

Elem<int> *Step; так ошибок не выдаёт.

Но если надо Elem<int> *Step = new Elem<int>; то ошибка:
[C++ Error] Unit1.cpp(76): E2285 Could not find a match for 'Elem<int>::Elem()'

я снова дурак?
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
20.11.2011, 18:13     указатель на экземпляр шаблонного класса #4
Снова . У вас нет конструктора по умолчанию в классе.
FoKas
0 / 0 / 0
Регистрация: 04.05.2011
Сообщений: 13
20.11.2011, 18:15  [ТС]     указатель на экземпляр шаблонного класса #5
Кароч торможу)))
Elem<int> *Step = new Elem<int>(x,y);
Так вроде надо
Bers
Заблокирован
20.11.2011, 18:15     указатель на экземпляр шаблонного класса #6
Цитата Сообщение от FoKas Посмотреть сообщение
я снова дурак?
Вы вообще понимаете разницу между указателем на объект, и самим объектом?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2011, 18:16     указатель на экземпляр шаблонного класса
Еще ссылки по теме:

C++ Указатель на объект, или экземпляр класса?
Создать экземпляр структуры шаблонного класс C++
Вызов метода у шаблонного поля, шаблонного класса C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
20.11.2011, 18:16     указатель на экземпляр шаблонного класса #7
Цитата Сообщение от FoKas Посмотреть сообщение
Но если надо Elem<int> *Step = new Elem<int>; то ошибка:
[C++ Error] Unit1.cpp(76): E2285 Could not find a match for 'Elem<int>::Elem()'
я снова дурак?
Тут как раз конструктор нужен:
C++
1
Elem<int> *Step = new Elem<int>(0,0);
Добавлено через 31 секунду
опоздал...
Yandex
Объявления
20.11.2011, 18:16     указатель на экземпляр шаблонного класса
Ответ Создать тему
Опции темы

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