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

Деструктор шаблона описанный в отдельном файле не линкуется. Почему? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ путь к файлу http://www.cyberforum.ru/cpp-beginners/thread933378.html
ofstream fout; fout.open("file.txt") Так создается file.txt прямо в папке приложении, но я хочу создать его в C/Program Files/file.txt . Как это сделать?
C++ Русификация.Работает-супер! Обьяснитте, как это работает? #include <iostream> #include <conio.h> #include <windows.h> using namespace std; char* Rus(const char* text); int main () { int i; // счётчик цикла http://www.cyberforum.ru/cpp-beginners/thread933375.html
Вывод float через fprintf C++
Ребят, подскажите как надо прописать fprintf, чтобы вывести у числа float только целую часть. Заранее благодарен.
C++ Автозаполнение форм
Здравствуйте. Есть вот допустим сайт на котором забылся пароль, но логин мы помним. Как заставить машину заполнять строки: "Введите логин", "Введите пароль". Нужно ли для этого системные функции использовать или через код сайта работать? Просто есть программа автоклик и по идеи если заставить машинку ставить туда курсор и вводить лог пасс.
C++ Простая прога не запускается в visual c++ http://www.cyberforum.ru/cpp-beginners/thread933298.html
Я скачал ,не покупал-visual c++.Не одну программу не могу запустить даже хелло ворлд такого вида:в меню выбираю создать приложение с++ или бат файл или win32 console application.Может не то выбираю или библиотеки не подключены но очень прошу помочь вот такой файл ввожу и нажимаю потом ф7 или execute: #include <stdio.h> int main (void) { printf ("Hello, World!\n"); return 0; } ...
C++ принадлежит ли один вектор другому (входит ли в состав) Задача состоит в том, что надо проверить входит ли один вектор в состав другого, нужно вывести 1 или 0 (true или false). Проблема такова, что при отрицательном ответе выдает ошибку во время выполнения vector iterator not incrementable или vector iterator not dereferencable(до небольшого изменения в 1 строке, где производился явный инкремент итератора). vector<int> vec1, vec2; int num, nums;... подробнее

Показать сообщение отдельно
loou
1 / 1 / 0
Регистрация: 02.08.2013
Сообщений: 29
04.08.2013, 17:58     Деструктор шаблона описанный в отдельном файле не линкуется. Почему?
Есть такой код: файл "a.h"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
template < typename T>
class A
{
public:
    A() { a=0; std::cout <<"c A"<< std::endl; }
    ~A();// { if(a) delete[] a; }
protected:
    T *a;
};
 
template < typename T>
A <T> ::
~A()
{ if(a) delete[] a; }
если все в одном файле - все ок.

Переношу ~A() в c.cpp - пишет:
Error error LNK2001: unresolved external symbol "public: __thiscall A<double>::~A<double>(void)" (??1?$A@N@@QAE@XZ)

файл "a.cpp"
C++
1
2
3
4
5
6
7
#include <iostream>
#include "a.h"
 
template < typename T>
A <T> ::
~A()
{ if(a) delete[] a; }
main:
C++
1
2
3
4
5
6
7
8
#include <iostream>
#include "a.h"
 
int main()
{
    A<double> x;
    return 0;
}
В чем дело может быть?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru