Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
30 / 47 / 19
Регистрация: 23.10.2014
Сообщений: 1,001
1

Класс на шаблонах, менять аргументы шаблона

01.11.2014, 14:20. Показов 1101. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
можно ли менять аргументы шаблона внутри фукции класса? а то у меня не хочет никак работать код типа:

C++
1
2
3
4
5
6
7
8
9
10
template <int n>
struct s
{
    s() { n = 10; }
};
 
int main()
{
    s<0> ss;
}
пишет "error C2106: =: левый операнд должен быть левосторонним значением" на присвоение
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.11.2014, 14:20
Ответы с готовыми решениями:

Аргументы шаблона по умолчанию можно использовать только в шаблоне класса
Помогите разобраться. В чем проблема. VS 2012, Код был написан под VS 2015. В 15 студии...

Error C4519: аргументы шаблона по умолчанию можно использовать только в шаблоне класса
void sort_when_two_threads(Iterator first, Iterator last, Compare comp = std::less&lt;typename...

Производный класс, аргументы по умолчанию
Здравствуйте. Есть базовый класс и производный. Проблема в том что в производном классе надо...

[C++11] "Унаследовать" аргументы шаблона?
Есть класс-шаблон. template&lt;typename T, typename O, typename I&gt; class A { // ... }

4
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
01.11.2014, 14:26 2
Dark Byte, нет конечно.
0
30 / 47 / 19
Регистрация: 23.10.2014
Сообщений: 1,001
01.11.2014, 14:48  [ТС] 3
блин, жалко... а подскажите тогда как вызвать ошибку компиляции? скажем в шаблоне 2 переменных и если например одна больше другой то ошибка... ну типа:

C++
1
2
template <int min, int max>
struct...
чтобы ошибка была именно компиляции, а не выполнения... ведь передаются аргументы в коде при создании объекта класса, так что можно вычислить какой аргумент больше, может какие нибудь constexpr или типа того?
0
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
01.11.2014, 14:57 4
Лучший ответ Сообщение было отмечено Dark Byte как решение

Решение

static_assert( expression, message ).

C++
1
2
3
4
5
template <int min, int max>
struct A {
   static_assert( max > min, "min > max" );
   ...
};
1
30 / 47 / 19
Регистрация: 23.10.2014
Сообщений: 1,001
01.11.2014, 15:00  [ТС] 5
Toshkarik, ааа точно забыл, во спс
0
01.11.2014, 15:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2014, 15:00
Помогаю со студенческими работами здесь

Постоянно менять класс элемента
Всем доброго времени суток. Мне необходимо было что бы класс переходил от одного элемента к...

Динамически менять класс переменных
Такой вопрос, есть несколько подключений к разным БД Mysql, SQL, Oracal как сделать так чтобы в...

Наследуемый класс в параметре шаблона
Нужно ограничить классы, передаваемые в параметры шаблона до классов, наследуемых от заданного....

Создать класс отрезок для игры с возможностью менять координаты
Делаю игру. Очень коротко - у нас есть &quot;уровень земли&quot;. Он представляет из себя горизонтальную...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru