Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
19 / 19 / 2
Регистрация: 23.09.2010
Сообщений: 193
1

Шаблонные функции

07.02.2011, 11:20. Просмотров 1438. Ответов 10
Метки нет (Все метки)


Чет не получается написать шаблонную функцию.

func.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
template <class T>
T strnstr (T str, T substr, unsigned int count)
{
    T* str1;
    T* str2 = substr;
 
    while(count)
    {
        str1=str;
 
        while(count-- && *str++ == *str2++)
        {
            if(!*str2) return str1;
 
            if(!count) return NULL;
        }
        
        str2 = substr;
    }
    
    return NULL;
}
вызов

mail.cpp
C++
1
char* passwordHeader = strnstr(reinterpret_cast<char*>(accountPtr), "Password",fileSize-i-sizeof(signature));
Error 14 error C2995: 'T strnstr(T,T,unsigned int)' : function template has already been defined
Error 10 error C2782: 'T strnstr(T,T,unsigned int)' : template parameter 'T' is ambiguous
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.02.2011, 11:20
Ответы с готовыми решениями:

Шаблонные функции
Доброго времени суток. Есть шаблонная функция(двоичный сумматор прямого кода): template &lt;class T&gt;...

Шаблонные функции
С помощью http://ru.wikipedia.org/wiki/Шаблоны_C%2B%2B пытался написать программу с шаблонной...

Шаблонные функции
Читал у Праты про шаблонные функции, и везде они описаны наподобие template &lt;typename Any&gt; void...

Шаблонные функции
Помогите, пожалуйста, реализовать шаблонную функцию, которая переставляет элементы в массиве

10
268 / 170 / 11
Регистрация: 14.03.2010
Сообщений: 501
07.02.2011, 12:03 2
Saiberg, а зачем тебе здесь шаблон, если ты точно знаешь, что будешь передавать в функцию только «char *» при том, что есть такая же стандартная функция.
Да и вообще, удобнее «std::string» использовать.
0
19 / 19 / 2
Регистрация: 23.09.2010
Сообщений: 193
07.02.2011, 12:07  [ТС] 3
wchar_t еще может быть
0
268 / 170 / 11
Регистрация: 14.03.2010
Сообщений: 501
07.02.2011, 12:17 4
Используй std::string. Там этот функционал заложен.
0
19 / 19 / 2
Регистрация: 23.09.2010
Сообщений: 193
07.02.2011, 13:11  [ТС] 5
ну подскажи тогда пожалуйста функцию\метод который ищет подстроку пропуская \0 и может иметь на входе char\wchar_t ,я токую не знаю.
0
268 / 170 / 11
Регистрация: 14.03.2010
Сообщений: 501
07.02.2011, 13:26 6
Saiberg, если ты сравниваешь строки, то зачем пропускать нулевой символ? Как иначе определить, что строка закончилась?
0
19 / 19 / 2
Регистрация: 23.09.2010
Сообщений: 193
07.02.2011, 13:28  [ТС] 7
3 параметр это длина "основной" строки. токая функция мне нужна что бы найти строку в файле...
0
2226 / 1729 / 865
Регистрация: 21.12.2010
Сообщений: 3,073
Записей в блоге: 11
07.02.2011, 15:26 8
если нужно найти одну последовательность в другой то search()
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<iostream>
#include<algorithm>
using namespace std;
 
int main(){
    char mas[]={'\0', 'r', '\n', 'a', '%', 'd', '\0', 'r', '*'}, *p=mas;
    char sea[]={'\0', 'r'};
    int ind;
    while((ind=search(p, mas+sizeof(mas), sea, sea+sizeof(sea))-mas)!=sizeof(mas)){
        p=mas+ind+sizeof(sea);
        cout<<"index= "<<ind<<"\n";
    }
}
0
19 / 19 / 2
Регистрация: 23.09.2010
Сообщений: 193
07.02.2011, 17:42  [ТС] 9
все же в чем ошибка?(как заставить мою шаблонную функцию работать)

search вроде подходит
0
2226 / 1729 / 865
Регистрация: 21.12.2010
Сообщений: 3,073
Записей в блоге: 11
07.02.2011, 17:59 10
C++
1
2
T str1;
T str2 = substr;
0
19 / 19 / 2
Регистрация: 23.09.2010
Сообщений: 193
07.02.2011, 18:27  [ТС] 11
Все равно не работает... Ошибки те же
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.02.2011, 18:27

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

Шаблонные функции
Любимой нужно, это свято... Поэтому прошу помощи... Перегрузить операторы &gt;, &lt;, == для класса...

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

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

Шаблонные функции
Такой код работает. #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;cstring&gt; using namespace...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.