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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
FoKas
0 / 0 / 0
Регистрация: 04.05.2011
Сообщений: 13
#1

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

20.11.2011, 18:00. Просмотров 497. Ответов 6
Метки нет (Все метки)

имеется такой класс
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++ Указатель на экземпляр шаблонного класса
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
Эксперт С++
4956 / 3032 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 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++
Указатель на текущий экземпляр класса this C++
C++ Создать экземпляр класса без явного указания членов класса
Вызов методов класса из двойного указателя на экземпляр класса C++
C++ Чем отличается шаблонный метод класса от шаблонного класса?

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

Или воспользуйтесь поиском по форуму:
Kastaneda
Форумчанин
Эксперт С++
4468 / 2830 / 224
Регистрация: 12.12.2009
Сообщений: 7,199
Записей в блоге: 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     указатель на экземпляр шаблонного класса
Ответ Создать тему
Опции темы

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