powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / непонятки с конструктором по умолчанию в шаблонном классе
5 сообщений из 5, страница 1 из 1
непонятки с конструктором по умолчанию в шаблонном классе
    #38226113
ииих
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток. На форуме и в гугле ответа не нашел, посему пишу здесь.
Разбираюсь с шаблонными классами и наткнулся на то, что borland c++ builder активно отказывается воспринимать реализованный мной конструктор по умолчанию, при это конструктор с пораметрами отлично работает.
Вот код:
Код: plaintext
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.
26.
27.
template <class T> class Tbase
{
 public:
// Tbase ();
 Tbase (T vx){x=vx;}
 Tbase (const Tbase & l){x=l.x;};
 virtual ~Tbase (){x=0;};
 T xvalue(){return x;};
 void show(){ShowMessage(String(x));};
 void init_x(T vx){x=vx;};
 protected:
 float yx1(){};
 float yx2(){};
 float yx3(){};
 T x;
 };
template <class T> Tbase <T>::Tbase()
{ x=0; };

TForm1 *Form1;
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Tbase <float> te();
te.show();/*тут выдает ошибку [C++ Error] Unit1.cpp(43): E2294 Structure required on left side of . or .*  */

}


Уважаемые гуру разъясните почему выдается ошибка при использовании конструктора по умолчанию, с параметрами насколько я понял в параметрическом он проживал из-за явно заданного шаблонного типа.
...
Рейтинг: 0 / 0
непонятки с конструктором по умолчанию в шаблонном классе
    #38226141
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ииих,

Код: plaintext
1.
Tbase <float> te;
...
Рейтинг: 0 / 0
непонятки с конструктором по умолчанию в шаблонном классе
    #38226160
ииих
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий Широковииих,

Код: plaintext
1.
Tbase <float> te;



Что именно я сделал не так, объявление типа вроде как обязательно для шаблонного класса, при создание его объекта.
П.С. спасибо за попытку помочь, буду рад если продолжите
...
Рейтинг: 0 / 0
непонятки с конструктором по умолчанию в шаблонном классе
    #38226193
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ииихАнатолий Широковииих,

Код: plaintext
1.
Tbase <float> te;



Что именно я сделал не так, объявление типа вроде как обязательно для шаблонного класса, при создание его объекта.
П.С. спасибо за попытку помочь, буду рад если продолжите


Код: plaintext
1.
2.
Tbase <float> te(); // это объявление функции te без параметров, возращающей Tbase<float>
Tbase <float> te; // это объявление переменной te типа Tbase<float> с вызовом конструктора по умолчанию
...
Рейтинг: 0 / 0
непонятки с конструктором по умолчанию в шаблонном классе
    #38226251
ииих
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Анатолий Широков
Спасибо вам огромное, искал ошибку более масштабную=(
П.С. Пост написан спустя много матов в слух....
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / непонятки с конструктором по умолчанию в шаблонном классе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]