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

Как правильно воспользоваться шаблоном - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ дебаг http://www.cyberforum.ru/cpp-beginners/thread383381.html
Как дебажить написаный код? Спасибо компилятору хоть тыкает носом на очевидные ошибки, но когда код компилируется и сразу после запуска программа вылетает, что делать в таком случае? Как узнать по какой причине она вылетает? Использую code blocks с minGW, там вроде и дебагер какойто есть но не могу понять как им пользоватся.
C++ Вызов функции динамического выделение памяти Здравствуйте! Нужна помощь! Написал функцию выделение памяти под двумерный динамический массив, которая возвращает масив размером n на m! int Matrix(int **matr, int n, int m) { int **mass = new int *; http://www.cyberforum.ru/cpp-beginners/thread383375.html
C++ спасите нубку. установка quick C
Надо поставить microsoft quick c, вроде установила, вроде работает, НО выдает ошибку в первой строчке. т.е. не может открыть библиотеку stdio.h пыталась заменить, все тоже. кто-нибудь киньте рабочую библиотеку, или подскажите что делать. мб дело в том, что у меня винда 7ка? короче help мне кучу программ надо сдавать)
double rand() C++
как записать случайное double число? точнее как в диапазоне записать, например от -100.0 до 100.0??
C++ vector<int>* v; обращение к конкретному элементу http://www.cyberforum.ru/cpp-beginners/thread383345.html
vector<int> *v; v = new vector<int>(); v->push_back(6); v->push_back(6); v->push_back(6); v->push_back(6); v->push_back(6); int t=v; // компилятор ругается
C++ Нулевой массив Как заполнить массив 10х10 нулями? подробнее

Показать сообщение отдельно
thick_int
Заблокирован
14.11.2011, 02:40     Как правильно воспользоваться шаблоном
Начал изучать C++
Вот есть два файла

1)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "stdafx.h"
#include <iostream>
 
 
 
template <typename T> extern void output1(T a);
 
int _tmain(int argc, _TCHAR* argv[])
{
    using namespace std;
    int a = 6;
    output1(a);
    return 0;
}
2

C++
1
2
3
4
5
6
7
#include "stdafx.h"
 
template <typename T> void output1(T a)
{
    using namespace std;
    cout << a;
}
При попытке их скомпилировать выдаетс сообщения:
Код
1 error LNK1120: 1 неразрешенных внешних элементов	c:\users\...\documents\visual studio 2010\Projects\ConsoleD\Debug\ConsoleD.exe
Ошибка	1	error LNK2019: ссылка на неразрешенный внешний символ "void __cdecl output1<int>(int)" (??$output1@H@@YAXH@Z) в функции _wmain	c:\Users\...\documents\visual studio 2010\Projects\ConsoleD\ConsoleD\ConsoleD.obj
Если же я переношу определение функции output1() в первый файл, тамгде функци main, то все работает в поряядке.
Далее, если не пользуюсьшаблонами, а просто для функции output1() заранее выбираю жестко фиксированный тип, то работает и тогда, когда определение этой функции находитс в одном файле, а объвление (прототип) в файле с функцией main.
Почему же с шаблонами не получается?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru