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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
#1

Программа не компилируется при перестановке прототипов шаблонных функций - C++

07.01.2013, 22:27. Просмотров 283. Ответов 2
Метки нет (Все метки)

Если переставить местами прототипы функций то программа не скомпилируется. Почему?
В первой все хорошо, а вторая не компилируется только из-за того, что переставил местами функции Swap.

1.
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 "stdafx.h"
#include "iostream"
using namespace std;
 
struct Job
{
    char name[40];  
    double salary;      
    int floor;          
};
 
template <typename t>
void Swap(t &a, t &b);
 
template <>
void Swap<Job>(Job &j1, Job &j2);
 
int _tmain(int argc, _TCHAR* argv[])
{
 
    
 
    system("pause");
    return 0;
}

// -------------------------------------------------------------

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
24
25
#include "stdafx.h"
#include "iostream"
using namespace std;
 
struct Job
{
    char name[40];  
    double salary;      
    int floor;          
};
 
template <>
void Swap<Job>(Job &j1, Job &j2);
 
template <typename t>
void Swap(t &a, t &b);
 
int _tmain(int argc, _TCHAR* argv[])
{
 
    
 
    system("pause");
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2013, 22:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа не компилируется при перестановке прототипов шаблонных функций (C++):

вопрос по поводу Функций прототипов - C++
Еще раз доброго времени суток, я перекидал по файлам фрагменты кода структуру в .h основной код в .cpp и в главной функции отказался...

Перегрузка шаблонных функций - C++
Есть шаблонный класс А, шаблонный параметр которого - это тип его поля. Есть шаблонные классы В и С, шаблонные параметры которых - тип...

Использование шаблонных функций - C++
Разработайте программу с шаблонными функциями для типов int, float и double. Данные в функции передаются в качестве параметров....

Перегрузка шаблонных функций - C++
Есть сруктура box и два шаблоны для поиска максимального числа. Один для встроенных типов а второй для структуры. Если в функцию передается...

Использование шаблонных функций - C++
Всем привет) Очень нужна помощь. нужно написать прогу для поиска максимального и минимального значения линейного массива, подогнать её...

Переделать код с помощью шаблонных функций - C++
нужно переделать этот кд и написать с помощью шаблон функций (template) . помогите пожалуйста #include &quot;stdafx.h&quot; #include...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
07.01.2013, 22:32 #2
Если переставить местами определения классов, то программа не скомпилируется. Почему?
В первой все хорошо, а вторая не компилируется только из-за того, что перенёс определение предка после наследника.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
struct Job
{
    char name[40];  
    double salary;      
    int floor;          
};
 
struct Bork : Job
{
    float zog;
};
 
int main()
{
    Bork foo;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
struct Bork : Job
{
    float zog;
};
 
struct Job
{
    char name[40];  
    double salary;      
    int floor;          
};
 
int main()
{
    Bork foo;
}
Метафора понятна?
1
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
07.01.2013, 22:43  [ТС] #3
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
Метафора понятна?
Да, теперь все понятно. Спасибо
Хороший пример со структурами
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2013, 22:43
Привет! Вот еще темы с ответами:

Отделить описание шаблонных функций и классов от реализации - C++
скажите можно ли как то все таки отделить описание шабонных функций и классов от реализации? уж больно неудобно всю рализацию в h-нике...

Как на этапе компиляции создать необходимое количество шаблонных функций? - C++
Есть алгоритм, который использует функцию от одного аргумента. Этот же алгоритм должен использовать функцию, которая задаётся тем же одним...

Программа компилируется в Borland 6.0 но не компилируется в Visual Studio 2008 - C++
Ета програма компилируетса в борланде 6.0 но не компилируетса в Visualstudio 2008 и в борланде 10-м почему? #include&lt;iostream&gt; ...

При создании класса матрицы не компилируется программа - C++
Написал код для работы с классом квадратный матрицы, но столкнулся с проблемой при выполнении элементарных методов. вот код заголовочного...


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

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

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