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

Шаблон классов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Урезание значений чисел http://www.cyberforum.ru/cpp-beginners/thread827606.html
Здравия желаю!:) Вследствие периодического возникновения такой проблемы (а точнее по желанию левой пятки) решил задать вопрос: как убрать ненавистное округление значений чисел, например переменной типа double со значением "123456789012345678.0" округляется до "123456789012345680.0"? Ведь, чем число больше, тем больше округляется его значение. Как от этого избавиться?:wall:
C++ Найдите наименьший элемент среди четных строк матрицы Помогите найти ошибку в коде. Дана целочисленная прямоугольная матрица (задать самостоятельно). 1. Найдите наименьший элемент среди четных строк этой матрицы. 2. Переставьте местами строки матрицы в порядке убывания модулей первых элементов строк. Не могу сделать второе условие, немного некорректно выполняется. Добавлено через 1 минуту #include <iostream> #include <iomanip.> http://www.cyberforum.ru/cpp-beginners/thread827605.html
Внесение обїекта в список <list> STL C++
Доброго времени суток! Прошу помощи в решении следующего вопроса Идея такая: 1. Создаю класс class cStatic { public: //конструктор с параметрами номер, ширина, высота, х, у cStatic(int iN, int iW, int iH, int iX, int iY)
C++ Не правильно работает программа
#include <iostream> #include <conio.h> using namespace std; int main() { unsigned long int v=299792,S1,S2; S1=3600*299792; S2=86400*299792; cout<<"S1="<<S1<<endl<<"S2="<<S2; if(S1>S2) cout<<endl<<"S1>S2";
C++ Не могу понять чего выдает всегда 0 http://www.cyberforum.ru/cpp-beginners/thread827572.html
int n = 0; char str1 = "Текст текст текст Фиксатор текст текст текст"; for(int i = 0; i < strlen(str1); i++) { if(str1 == ' ') { n + 1; }
C++ Массив. Вставить в него элемент k (задать условие) У меня есть масив,допутим из 10 значений,пусть будет 1...10,мне нужно вставить в него елемент k,и получаеться такая проблема если я ввожу позицию <=0 и >+11 то вставляет 0,а нужно как то задать условие что б такого не было. Как это зделать? вот сам код может поможет) #include <iostream> #include <windows.h> #include <stdlib.h> #include <time.h> #include <iomanip> подробнее

Показать сообщение отдельно
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
04.04.2013, 04:22     Шаблон классов
Здорова!
Не получается никак составить шаблон для классов:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
struct element;
 
struct Link 
{
    element *prev, *next;//informaci9 dl9 cv9zuvani9
};
//template<struct int>
struct element : public Link //odnocv9znui cpicok
{
    //element *prev, *next;
    int val;//dannue
    //konctryktor preobrazovani9
    element(int a):val(a){};    
};
Выше код работает нормально, компилируется без ошибок. Мне нужно составить шаблон, например, чтобы int val был char val либо string val. Чо я токо не делал ошибку выкидывает
От примерно так делаю:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//template<struct T>
struct element;
 
struct Link 
{
    element *prev, *next;//informaci9 dl9 cv9zuvani9
};
template<struct T>
struct element : public Link //odnocv9znui cpicok
{
    //element *prev, *next;
    T val;//dannue
    //konctryktor preobrazovani9
    element(T a):val(a){};  
};
Отак кода записываю ошибку выдает:
In file included from ./ex13_2.cpp:8:0:
./intryctiv.h:14:17: ошибка: «struct T» is not a valid type for a template constant parameter
./intryctiv.h:15:8: ошибка: «element» не является шаблонным типом

Я уже не знаю чо и думать. Как же шаблон составить?

Добавлено через 3 минуты
От полный код:
C++
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
28
29
30
//intryzivnui cpicok
#include <iostream>
using std::cout;
using std::endl;
#include <cstdlib>
using std::exit;
 
//#include "intryctiv.h"
 
//template<struct T>
struct element;
 
struct Link 
{
    element *prev, *next;//informaci9 dl9 cv9zuvani9
};
template<struct T>
struct element : public Link //odnocv9znui cpicok
{
    //element *prev, *next;
    T val;//dannue
    //konctryktor preobrazovani9
    element(T a):val(a){};  
};
 
int main()
{
    
    return 0;
}
и та же ошибка: ./ex13_2.cpp:17:17: ошибка: «struct T» is not a valid type for a template constant parameter
./ex13_2.cpp:18:8: ошибка: «element» не является шаблонным типом
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru