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

undefined reference to 'std::basic - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывод string из list http://www.cyberforum.ru/cpp-beginners/thread652915.html
Есть некий класс. class human { public: string name; int age; }; int main ()
C++ do while Помогите , пожалуйста . Как сделать проверку на символы ? А то программа начитает зацикливаться , например do { cout <<"height of the fall H = "; cin >> H; } while (H <= 0... http://www.cyberforum.ru/cpp-beginners/thread652913.html
C++ 3 файла: 1 - хэдер-файл и 2 простых .срр
Всем привет! Помогите плз понять 1 вещь. У меня 3 файла 1 header, 2 - .cpp. В хэдере описание класса с прототипами функций. В 1-м срр-файле описание функций (по прототипам, объявленным в...
C++ Декартов лист
Помогите реализовать класс. Я новичок и пытаюсь разобраться :) и если кому не сложно, то напишите какие нибудь подсказки по этой задачи)
C++ Как вывести матрицу из файла http://www.cyberforum.ru/cpp-beginners/thread652893.html
Уважаемые форумчане! было дано следующее задание:решить сис-му лиейых алгебраических уравнений методом Гаусса. Код написал, прога работала, но потом добавили дополительное задание, нужно считывать...
C++ Управление двухмерным массивом из функции Доброго времени суток, пожалуйста, подскажите, как правильно передать в функцию указатель на двухмерный массив, а затем из функции изменять его ячейки. Я предполагал, что выглядеть будет как-то... подробнее

Показать сообщение отдельно
kotleta
42 / 42 / 11
Регистрация: 13.09.2012
Сообщений: 196

undefined reference to 'std::basic - C++

16.09.2012, 19:44. Просмотров 1771. Ответов 29
Метки (Все метки)

Братцы выручайте
Сейчас с ума сойду...

Но сначала исходники

main.cpp

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream>
#include <fstream>
#include <iomanip>
#include <vector>
 
#include "matrix_reading.h"
 
typedef std::vector < std::vector <int> > Vi;
typedef std::vector < std::vector <double> > Vd;
 
 
/*
template <typename T>
std::ostream& operator << (std::ostream& output, const std::vector < std::vector <T> >& mass)
{
     for(int i = 0; i < mass.size(); ++i)
     {
      for(int j = 0; j < mass[i].size(); ++j)
      {
          output << std::setw(6) << mass[i][j];
      }
      output << '\n';
     }
 
     return output;
}
 
// template <typename T>
std::ifstream& operator >> (std::ifstream& input, std::vector <std::vector <double> >& mass)
{
    for(int i=0; i < mass.size(); i++)
    {
        for(int j=0; j < mass[i].size(); j++)
        {
            input >> mass[i][j];
        }
    }
}
 
*/
 
int main()
{
    int row, col;
    std::ifstream inF("text.c");
 
    if (!inF)   std::cout << std::endl << "Error !";
 
    inF >> row;
    inF >> col;
 
  //  std::cout << row << " " << col;
 
   Vd t (row,std::vector <double> (col));
 
   inF >> t;
   std::cout << t;
 
 
    return 0;
}

matrix_reading.h

C++
1
2
3
4
5
6
7
8
9
10
11
#ifndef MATRIX_READING_H
#define MATRIX_READING_H
 
template <typename T>
std::ostream& operator << (std::ostream& output, const std::vector < std::vector <T> >& mass);
 
template <typename T>
std::ifstream& operator >> (std::ifstream& input, std::vector <std::vector <T> >& mass);
 
 
#endif
matrix_reading.cpp

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
26
27
28
#include "matrix_reading.h"
 
template <typename T>
std::ostream& operator << (std::ostream& output, const std::vector < std::vector <T> >& mass)
{
     for(int i = 0; i < mass.size(); ++i)
     {
      for(int j = 0; j < mass[i].size(); ++j)
      {
          output << std::setw(6) << mass[i][j];
      }
      output << '\n';
     }
 
     return output;
}
 
template <typename T>
std::ifstream& operator >> (std::ifstream& input, std::vector <std::vector <double> >& mass)
{
    for(int i=0; i < mass.size(); i++)
    {
        for(int j=0; j < mass[i].size(); j++)
        {
            input >> mass[i][j];
        }
    }
}
Вообщем все работало до тех пор пока я не решил засунуть свои функции в заголовочный файл.
ТО ЕСТЬ
Если вы скопируете себе файл main.cpp раскомментируете функции, и закомментите включение заголовчного файла, то все будет работать нормально.

Когда же подключаю заголовчный выдается вот что:

\Desktop\cpp_examples\my_prog\file_reading.o:file_reading.cpp|| undefined reference to `std::basic_ifstream<char, std::char_traits<char> >& operator>><double>(std::basic_ifstream<char, std::char_traits<char> >&, std::vector<std::vector<double, std::allocator<double> >, std::allocator<std::vector<double, std::allocator<double> > > >&)'|

\Desktop\cpp_examples\my_prog\file_reading.o:file_reading.cpp|| undefined reference to `std::ostream& operator<< <double>(std::ostream&, std::vector<std::vector<double, std::allocator<double> >, std::allocator<std::vector<double, std::allocator<double> > > > const&)'|

||=== Build finished: 2 errors, 0 warnings ===|

Компилятор code blocks...

Undefined reference to - не может найти ссылку .. а почему?????
аааа уже нервы вымотало....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru