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

Не могу создать шаблон - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ 6.82. Дано натуральное число. Определить, является ли разность его макси-мальной и минимальной цифр четным числом http://www.cyberforum.ru/cpp-beginners/thread828645.html
6.82. Дано натуральное число. Определить, является ли разность его макси-мальной и минимальной цифр четным числом.
C++ 8.27. Найти все целые числа из промежутка от 1 до 300 у которых ровно пять делителей 8.27. Найти все целые числа из промежутка от 1 до 300 у которых ровно пять делителей. http://www.cyberforum.ru/cpp-beginners/thread828644.html
C++ 10.23. Дата некоторого дня характеризуется гремя натуральными числами: g (год), m (порядковый номер месяца) и n (число). По заданным g, n и m определи
10.23. Дата некоторого дня характеризуется гремя натуральными числами: g (год), m (порядковый номер месяца) и n (число). По заданным g, n и m определить: а) дату предыдущего дня; б) дату следующего дня.
11.131. Известны очки (3, 1 или 0), полученные футбольной командой за ряд игр в порядке их проведения Что было раньше: первый выигрыш (3 очка) или пер C++
11.131. Известны очки (3, 1 или 0), полученные футбольной командой за ряд игр в порядке их проведения Что было раньше: первый выигрыш (3 очка) или первый проигрыш (0 очков)?
C++ 11.215. Фирме принадлежат два магазина. Известна стоимость товаров, про-данных в каждом магазине за каждый день в июле и августе, которая хранится в д http://www.cyberforum.ru/cpp-beginners/thread828639.html
11.215. Фирме принадлежат два магазина. Известна стоимость товаров, про-данных в каждом магазине за каждый день в июле и августе, которая хранится в двух массивах. Получить общую стоимость проданных фирмой товаров за два месяца.
C++ 11.239. Из элементов массива p сформировать массив q того же размера по правилу: элементы с номером i от 3-го по 10-й находятся по формуле qi= -pi все 11.239. Из элементов массива p сформировать массив q того же размера по правилу: элементы с номером i от 3-го по 10-й находятся по формуле qi= -pi все остальные — по формуле qi = pi х i. подробнее

Показать сообщение отдельно
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
05.04.2013, 03:51     Не могу создать шаблон
Здорова господа!
Снова пытаюсь написать шаблон и сново программа не компилируется
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
31
32
33
34
35
36
#include <iostream>
using std::cout;
using std::endl;
 
template<typename C>
class String
{
    class Cref;
public:
    //peregryzka dl9 chteni9 i zapici ne konctantnux ob6ektov
    Cref operator[](int i);
    
    friend bool operator!=(const String& x, const char* s);
};
 
template<typename C>
class String<C>::Cref{};
 
template<typename C>
String<C>::Cref String<C>::operator[](int i)
{
    
}
 
template<typename C>
bool operator!=(const String<C>& x, const String<C>& y)
{
    
}
 
int main()
{
    
    
    return 0;
}
Выдает ошибку:

./test1.cpp:13:55: предупреждение: friend declaration «bool operator!=(const String<C>&, const char*)» declares a non-template function [-Wnon-template-friend]
./test1.cpp:13:55: замечание: (if this is not what you intended, make sure the function template has already been declared and add <> after the function name here)
./test1.cpp:20:1: ошибка: need «typename» before «String<C>::Cref» because «String<C>» is a dependent scope


Если без шаблона то все нормально компилируется и как мне еще убрать предупреждение?
Я чо токо не пробовал методом тыка ничо не помогает.

Добавлено через 1 час 5 минут
Я вроде с первой ошибкой разобрался это с предупреждениями просто перед дружеской функцией влепил template<typename> без параметров, а как же мне ошибку исправить?
Хелп!

Добавлено через 5 минут
Господа как эту ошибку убрать?
./test1.cpp:20:22: ошибка: need «typename» before «String<C>::Cref» because «String<C>» is a dependent scope

я уже и так пробовал:
C++
1
2
3
4
template<typename C> String<C>::Cref template<typename C> String<C>::operator[](int i)
{
    
}
и по другому как попало ничо не выходит.
Ну чо вы такие вялые? Помогайте!

Добавлено через 2 минуты
Что за ошибка не понятная? Нужно typename перед «String<C>::Cref», а перед ним чо не стоит? Онож ведь стоит.

Добавлено через 14 минут
ППц разобрался. Детский вопрос хоть бы кто помог.
Правильно говорят сам не разберешься фиг кто поможет. Ошибки лучше нужно читать там явно написано что нужно делать и где ошибка, плохо что не на русском.

Добавлено через 1 минуту
Сами разбирайте если кто не понял, тут вопрос детский. Так на засыпку подумать. С подвохом вопрос.

Добавлено через 22 минуты
Всетоки перед дружественной функцией вроде не правильно ставить пустой шаблон, ана как то после этого становиться не дружественной или фиг его знает, но к закрытым членам не может обращаться вроде. Как же шаблон дружественной функции написать?

Добавлено через 2 минуты
Господа как правильно создавать шаблон для дружественных функций класса?

Добавлено через 13 минут
Ладно пошол читать литературу. Явно неправильно я его создаю.

Добавлено через 2 минуты
Да видимо правила какие то оформления есть, а я так отфанаря фиг чо угадаю как чо делать.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru