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

C++

Войти
Регистрация
Восстановить пароль
 
Валерий Герасим
4 / 4 / 2
Регистрация: 07.07.2013
Сообщений: 109
#1

Шаблоны функци в классе - C++

08.09.2016, 16:52. Просмотров 218. Ответов 1
Метки нет (Все метки)

Создал следующий шаблон функции:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
template<int N>
    int fibonacci(){
        return fibonacci<N-1>() + fibonacci<N-2>();
    }
    template<>
    int fibonacci<1>(){
        return 1;
    }
    template<>
    int fibonacci<2>(){
        return 1;
    }
 
int main(){
cout << fibonacci<25>() << endl;
    return 0;
}
Все работает.

Далее попытался создать почти такой же код:
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
#include <iostream>
using namespace std;
class NewFib{
public:
    template<int N>
    int fibonacci(){
        return fibonacci<N-1>() + fibonacci<N-2>();
    }
    template<>
    int fibonacci<1>(){
        return 1;
    }
    template<>
    int fibonacci<2>(){
        return 1;
    }
 
};
 
int main(){
 
NewFib new_fib;
    cout << new_fib.fibonacci<10>() << endl;
    return 0;
}
Но в этот раз вылезает ошибка компиляции

fatal error: template instantiation depth exceeds maximum of 900 (use -ftemplate-depth= to increase the maximum)
return fibonacci<N-1>() + fibonacci<N-2>();

Что мне делать,заранее спасибо,простите за тупость...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2016, 16:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шаблоны функци в классе (C++):

Шаблоны - C++
Как писать сами шаблоны, я знаю. А как ими пользоваться? template &lt;TBase&gt; TArry // Шаблон функции { ... }; После этого так...

Компоновщик vs. Шаблоны - C++
Впервые реально понадобились шаблоны и.. затык :( Компановщик ругается так: Собственно в Main такое дело: #include &quot;windows.h&quot; ...

Шаблоны в C++ - C++ Builder
Есть цикл for, после ввода FOR и нажатия CTRL+Пробел, вылазит окно с допустимым выбором, и если выбрать там for, то появиться готовый...

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

Шаблоны кода - C++ Builder
Скажите, кто знает, можно в Builder C++ как-то сохранять кусочки кода, а потом при случае их вставлять в программу... Типа, пишешь код,...

Шаблоны функций - C++ Builder
template&lt;typename T2&gt; __int16 RecordWork::AddNoTrowHave(T2 Record) { try { try { ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
notAll
411 / 132 / 29
Регистрация: 27.05.2016
Сообщений: 349
Завершенные тесты: 2
08.09.2016, 23:29 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
struct NewFib
{
    template <int N>
    int fibonacci() {
        return fibonacci<N-1>() + fibonacci<N-2>();
    }
};
 
template <>
int NewFib::fibonacci<1>() {
    return 1;
}
 
template <>
int NewFib::fibonacci<2>() {
    return 1;
}
 
int main()
{
    NewFib new_fib;
    cout << new_fib.fibonacci<10>() << endl;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.09.2016, 23:29
Привет! Вот еще темы с ответами:

Шаблоны классов и функций - C++ Builder
У меня имеется класс: #include &lt;cstdlib&gt; template &lt;class AgrType&gt; class CubicSpline { public: CubicSpline();...

Шаблоны, не работает с float - C++ Builder
Ребят, сделала шаблоны под свой класс. //--------------------------------------------------------------------------- #include...

«Шаблоны шаблонов» vs «шаблоны с параметрами-шаблонами». - C++
«Шаблоны шаблонов» vs «шаблоны с параметрами-шаблонами». Есть ли разница в этих понятиях? Если есть, то в чём? И где (в каких...

Доля отличников в классе больше 2/5, но меньше 3/7, а всего в классе не более 15 учеников. Сколько всего в классе учеников? - Алгебра
Добрый вечер! Подскажите, пожалуйста! &quot;Доля отличников в классе больше 2/5, но меньше 3/7, а всего в классе не более 15 учеников....


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

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

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