Alvin Seville
342 / 272 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
1

Компилятор не видит шаблонный параметр T внутри анонимного типа записи в обобщенном классе

18.08.2018, 16:42. Показов 1081. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Pascal
1
2
3
4
5
6
7
8
9
type
  TExample<T> = class
    fX: record
          x: T;
        end;
  end;
 
begin
end.
Выдает:
Program8.pas(4) : Неизвестное имя 'T'
Добавлено через 4 минуты

Не по теме:

Заголовок не очень, думаю лучше переименовать в "Не видит шаблонный параметр T внутри анонимного типа записи внутри обобщенного класса".

0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.08.2018, 16:42
Ответы с готовыми решениями:

Компилятор не видит структуру внутри класса
#pragma once #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;cstdlib&gt; #include &lt;locale&gt;...

Перегрузка операторов в обобщенном классе
Всем привет. Вопрос такой: &quot;Можно ли в обобщённом классе как-нибудь перегрузить операторы *, -,...

Как суммировать переменные Т в обобщенном классе?
Компилятор пишет что невозможно применить оператор + к переменным типа Т. Вот код,в котором...

Использование static PropertyData в обобщенном классе на WPF Catel
Здравствуйте, использую WPF Catel. Столкнулся с проблемой: public sealed class TestType&lt;T&gt; :...

5
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32584 / 21054 / 8133
Регистрация: 22.10.2011
Сообщений: 36,327
Записей в блоге: 8
18.08.2018, 16:50 2
Лучший ответ Сообщение было отмечено Соколиный глаз как решение

Решение

Workaround:

Pascal
1
2
3
4
5
6
7
8
9
10
11
type
  R<T> = record
    x : T;
  end;
  
  TExample<T> = class
  fX : R<T>;
  end;
 
begin
end.

Не по теме:

P.S. Переименовал...

0
Alvin Seville
342 / 272 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
18.08.2018, 16:51  [ТС] 3
volvo, ну, так-то, разумеется работает.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32584 / 21054 / 8133
Регистрация: 22.10.2011
Сообщений: 36,327
Записей в блоге: 8
18.08.2018, 16:52 4
Ну, хоть как-то работает Я думал это вообще невозможно.
0
Alvin Seville
342 / 272 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
19.08.2018, 08:29  [ТС] 5
volvo, с записями в самой новой версии (3.4, сборка 1749) также ошибку дает ту же самую:
Pascal
1
2
3
4
5
6
7
8
9
type
  TExample<T> = record
    fX: record
          x: T;
        end;
  end;
  
begin
end.
0
Alvin Seville
342 / 272 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
20.08.2018, 11:02  [ТС] 6
Мне "нравится" здесь как они хотят исправить баг:
Запретить безымянные записи в неглобальном контексте

Не по теме:

Уже как-то не смешно от слова "запретить". Разработчики как всегда в своем стиле - если что-то не работает - надо это запретить.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.08.2018, 11:02
Помогаю со студенческими работами здесь

Перегрузка операторов в обобщенном классе. Сложение, вычитание типов T
Потихоньку изучаю C#. Тут решил написать обобщенный класс, который тип T представляет из себя любой...

Как можно переопределить <обобщенный аргумент> в обобщенном классе
допустим есть что то простое // // #ifndef Print_HPP #define Print_HPP

Как можно переопределить <обобщенный аргумент> в обобщенном классе используя BOOST
допустим есть что то простое // // #ifndef Print_HPP #define Print_HPP

Счётчик внутри анонимного метода. Непонятное поведение
Здравствуйте. Почему выводит 0, и только если раскомментировать строку, выведет 1? using...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru