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

C++

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

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

08.09.2016, 16:52. Просмотров 201. Ответов 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>();

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

C++ Шаблоны и т.д.(
Шаблоны C++
Вывести на экран отрицательные значения функци C++
C++ Шаблоны C++
C++ Вычислить значение заданной функци на данном интервале с заданным шагом. Осуществить вывод значений аргумента и результатов вычислений значений функ
C++ Шаблоны
Шаблоны C++
C++ vs 2010 ругается на все библиотечные функци string.h
Шаблоны С++ C++
Шаблоны C++
C++ Шаблоны в C++
C++ Задачу создать 2-мя способами:1) передавать результат работы подпрограммы через результат, возвращаемый функци

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
notAll
382 / 103 / 21
Регистрация: 27.05.2016
Сообщений: 261
Завершенные тесты: 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;
}
Yandex
Объявления
08.09.2016, 23:29     Шаблоны функци в классе
Ответ Создать тему
Опции темы

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